Dubbo uygulamanız zaten Alibaba Cloud üzerinde dağıtılmışsa bunu Serverless App Engine (SAE) ortamına geçirebilirsiniz. Bu konu uygulamanızı SAE ortamına sorunsuz şekilde nasıl geçireceğinizi açıklar.
1. Adım: İlk uygulamayı geçirin
Bu konuda demo bir uygulama kullanarak geçiş sürecini gösteriyoruz. Demo uygulamayı indirmek için bkz. Demo.
-
Uygulamaları geçiş önceliğine göre sıralayın.
Çağrı zincirindeki en alt düzey sağlayıcı ile başlamanızı öneririz. Çağrı zinciri analiz edilemeyecek kadar karmaşıksa herhangi bir uygulama ile başlayabilirsiniz.
-
Uygulamaya bağımlılık ekleyin ve yapılandırmaları değiştirin.
NotBu geçişte çift kayıt ve çift abonelik stratejisi kullanılır.
-
pom.xml dosyasına
edas-dubbo-migration-bombağımlılığını ekleyin.<dependency> <groupId>com.alibaba.edas</groupId> <artifactId>edas-dubbo-migration-bom</artifactId> <version>2.6.5.1</version> <type>pom</type> </dependency> -
application.properties dosyasına SAE hizmet kayıt defterinin IP adresini ekleyin.
dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=zookeeper://192.168.XX.XX:2181&config-address=127.0.XX.XX:8848ÖnemliSpring Boot olmayan uygulamalar için bu yapılandırmayı dubbo.properties dosyasında veya ilgili Spring yapılandırma dosyasında belirtin.
Parametre
Açıklama
edas-migration://192.168.XX.XX:9999
Birden fazla hizmet kayıt defteri için üst bilgiyi değiştirmeniz gerekmez. Başlatma sırasında Dubbo IP adresini ve bağlantı noktasını doğrular. Günlük seviyeniz WARN veya daha düşük olarak ayarlanmışsa bir WARN günlük mesajı görünebilir; bu mesajı yoksayabilirsiniz.
service-registry
Hizmet kaydı için kullanılan hizmet kayıt defterinin adresi. Virgülle (,) ayrılmış birden fazla hizmet kayıt defteri adresi belirtebilirsiniz. Her adres standart Dubbo kayıt defteri formatında olmalıdır. Örnekte192.168.XX.XXZooKeeper adresidir. Bunu gerçek ZooKeeper IP adresiniz ve bağlantı noktanızla değiştirin.
reference-registry
Hizmet aboneliği için kullanılan hizmet kayıt defterinin adresi. Bu parametre birden fazla kayıt defterini veya geçiş öncesinde kullanılan orijinal hizmet kayıt defterine abone olmayı destekler.
config-address
Dinamik yapılandırmaların gönderilmesi için kullanılan adres. -
Diğer değişiklikleri yapın.
Spring Boot kullanmayan Spring uygulamaları için tarama yoluna
com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRestsınıfını ekleyin.
-
-
Yerel doğrulama yapın.
Bu bölümde dinamik yapılandırma kullanan bir örnek sunuyoruz.
-
Doğrulamaya başlamadan önce aşağıdaki adımları tamamlayın:
-
Hizmetin kayıtlı olduğunu doğrulayın.
Hafif yapılandırma ve kayıt merkezinde oturum açın ve Sağlayıcı Listesi'nde hizmeti kontrol edin.
ZooKeeper'da oturum açın ve hizmet kaydı ile tüketim bilgilerini görüntüleyin.
-
İsteğe bağlı: Nacos'ta oturum açın ve hizmet kayıt bilgilerini yapılandırın.
NotDinamik yapılandırmaya ihtiyacınız yoksa bu adımı atlayabilirsiniz.
Parametre
Açıklama
DataId
Bu parametreyi dubbo.registry.config olarak ayarlayın.
Group
Bu parametreyi applicationName ile belirtilen Dubbo uygulamasının adına (örneğin dubbo-migration-demo-server) ayarlayın. Yapılandırma uygulama düzeyindedir bu nedenle uygulama adı benzersiz olmalıdır.
Yapılandırma içeriği
-
Uygulama düzeyi
dubbo.reference.registry=edas://127.0.XX.XX:8080 # Hizmet aboneliği için kullanılan hizmet kayıt defterinin adresi. dubbo.service.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181 # Hizmet kaydı için kullanılan hizmet kayıt defterinin adresi. -
Örnek IP adresi düzeyi
192.168.XX.XX.dubbo.reference.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181 192.168.XX.XX.dubbo.service.registry=edas://127.0.XX.XX:8080
Bir kümeyi doğrularken önce örnek IP adresi düzeyinde ardından uygulama düzeyinde doğrulama yapmanızı öneririz.
-
-
Geçişten sonra uygulama çağrılarının doğru çalıştığını doğrulayın ve hizmet kayıt defterindeki kayıt ve abonelik durumlarını kontrol edin.
Spring Boot 1.x: http://ip:port/dubboRegistry
Spring Boot 2.x: http://ip:port/actuator/dubboRegistry
Aşağıda yukarıdaki uç noktalardan birine eriştiğinizde döndürülen hizmet kayıt defteri yapılandırma bilgilerine ilişkin bir örnek verilmiştir:
{ "dubbo.effective.reference.registry": [ "edas://127.0.xxx:8080" ], "dubbo.orig.reference.registry": [ "zookeeper://127.0.xxx:2181" ], "dubbo.orig.service.registry": [ "edas://127.0.xxx:8080", "zookeeper://127.0.xxx:2181" ], "dubbo.effective.service.registry": [ "edas://127.0.xxx:8080", "zookeeper://127.0.xxx:2181" ] }
-
-
Uygulamayı SAE ortamına dağıtın.
Uygulamayı ihtiyaç duyduğunuz şekilde SAE ortamına dağıtın. Daha fazla bilgi için bkz. Uygulama dağıtımı.
-
Sonuçları doğrulayın.
İş hizmetlerinizin düzgün çalıştığını doğrulayın.
-
Hizmet aboneliği izlemesini kontrol edin.
Uygulamanız için Spring Boot Actuator izlemesi etkinleştirildiyse abone olunan hizmetlere ilişkin RibbonServerList bilgilerini görüntülemek üzere Actuator uç noktalarına erişin:
Spring Boot 1.x: http://ip:port/dubboRegistry
Spring Boot 2.x: http://ip:port/actuator/dubboRegistry
{ "dubbo.effective.reference.registry": [ "edas://127.0.xxx:8080" ], "dubbo.orig.reference.registry": [ "zookeeper://127.0.xxx:2181" ], "dubbo.orig.service.registry": [ "edas://127.0.xxx:8080", "zookeeper://127.0.xxx:2181" ], "dubbo.effective.service.registry": [ "edas://127.0.xxx:8080", "zookeeper://127.0.xxx:2181" ] }Parametre açıklamaları:
dubbo.orig.**: Uygulamada yapılandırılan hizmet kayıt defteri bilgileri.dubbo.effective.**: Etkili olan hizmet kayıt defteri bilgileri.
2. Adım: Kalan tüm uygulamaları geçirin
Diğer tüm uygulamaları sırayla SAE'e geçirin. Daha fazla bilgi için bkz. 1. Adım: İlk uygulamayı geçirin.
3. Adım: Geçiş yapılandırmasını temizleyin
Geçiş tamamlandıktan sonra orijinal hizmet kayıt defteri yapılandırmasını ve yalnızca geçiş amaçlı kullanılan edas-dubbo-migration-bom bağımlılığını silin.
Tüketicilerin ve sağlayıcıların yalnızca SAE üzerinden abone olmasını sağlamak için hizmet kayıt defteri adreslerini güncelleyin. Bu işlem ZooKeeper yapılandırmasının kaldırılmasını içerir. Bunu aşağıdaki yöntemlerden biriyle yapabilirsiniz:
Yöntem 1: Dinamik yapılandırma kullanın. Daha fazla bilgi için yerel doğrulama bölümüne bakın.
-
Yöntem 2: Yapılandırmayı manuel olarak değiştirin.
Tüm uygulamaları güncelledikten sonra hizmet kayıt defteri adresini değiştirin ve abonelik adresini SAE Config Server olarak ayarlayın.
dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=edas://127.0.XX.XX:8080&config-address=127.0.XX.XX:8848reference-registrydeğerinizookeeper://192.168.XX.XX:2181yerineedas://127.0.XX.XX:8080olarak değiştirin ve ardından uygulamayı dağıtın.NotGeçiş tamamlandıktan sonra
ZooKeeperartık kullanılmıyorsa hizmet kayıt defteri yapılandırmasındanzookeeper://192.168.XX.XX:2181girişini kaldırın.Eski ZooKeeper'ın kullanılmaya devam edilmesi iş kararlılığını etkilemez ancak Dubbo'nun hizmet kayıt defteriyle etkileşimini karmaşıklaştırır ve hata oranını artırabilir. Geçiş tamamlandıktan sonra eski ZooKeeper yapılandırmasını derhal kaldırmanızı ve uygulamaları yoğun saatler dışında toplu olarak yeniden başlatmanızı öneririz. Son örnek adres aşağıdaki gibidir:
dubbo.registry.address = edas://127.0.XX.XX:8080