摘要:在服務治理方面,相較于而言,并不成熟。遺憾的是,往往被部分開發(fā)者片面地視作服務治理的框架,而非微服務基礎(chǔ)設(shè)施。因此,建議開發(fā)人員將或者遷移為服務。因此,下一步需要將其配置服務遠程。當服務提供方啟動后,下一步實現(xiàn)一個服務消費方。
原文鏈接:Dubbo Spring Cloud 重塑微服務治理,來自于微信公眾號:次靈均閣摘要
在 Java 微服務生態(tài)中,Spring Cloud1 成為了開發(fā)人員的首選技術(shù)棧,然而隨著實踐的深入和運用規(guī)模的擴大,大家逐漸意識到 Spring Cloud 的局限性。在服務治理方面,相較于 Dubbo2 而言,Spring Cloud 并不成熟。遺憾的是,Dubbo 往往被部分開發(fā)者片面地視作服務治理的 RPC 框架,而非微服務基礎(chǔ)設(shè)施。即使是那些有意將 Spring Cloud 遷移至 Dubbo 的小伙伴,當面對其中遷移和改造的成本時,難免望而卻步。慶幸的是,Dubbo 生態(tài)體系已發(fā)生巨大變化,Dubbo Spring Cloud 作為 Spring Cloud Alibaba3 的最核心組件,完全地擁抱 Spring Cloud 技術(shù)棧,不但無縫地整合 Spring Cloud 注冊中心,包括 Nacos4、Eureka5、Zookeeper6 以及 Consul7,而且完全地兼容 Spring Cloud Open Feign8 以及 @LoadBalanced RestTemplate,本文將討論 Dubbo Spring Cloud 對 Spring Cloud 技術(shù)棧所帶來的革命性變化。
注:由于 Spring Cloud 技術(shù)棧涵蓋的特性眾多,因此本文討論的范圍僅限于服務治理部分。簡介
Dubbo Spring Cloud 基于 Dubbo Spring Boot 2.7.19 和 Spring Cloud 2.x 開發(fā),無論開發(fā)人員是 Dubbo 用戶還是 Spring Cloud 用戶,都能輕松地駕馭,并以接近“零”成本的代價使應用向上遷移。Dubbo Spring Cloud 致力于簡化 Cloud Native 開發(fā)成本,提高研發(fā)效能以及提升應用性能等目的。
2019年4月19日,Dubbo Spring Cloud 首個 Preview Release,隨同 Spring Cloud Alibaba 0.2.2.RELEASE 和 0.9.0.RELEASE 一同發(fā)布10,分別對應 Spring Cloud Finchley11 與 Greenwich12 (下文分別簡稱為 “F” 版 和 “G” 版) 。
版本支持由于 Spring 官方宣布 Spring Cloud Edgware(下文簡稱為 “E” 版) 將在 2019 年 8 月 1 號后停止維護13,因此,目前 Dubbo Spring Cloud 發(fā)布版本并未對 “E” 版提供支持,僅為 “F” 版 和 “G” 版開發(fā),同時也建議和鼓勵 Spring Cloud 用戶更新至 “F” 版 或 “G” 版。
同時,Dubbo Spring Cloud 基于 Apache Dubbo Spring Boot 2.7.1 開發(fā)(最低 Java 版本為 1.8),提供完整的 Dubbo 注解驅(qū)動、外部化配置以及 Production-Ready 的特性,詳情請參考:https://github.com/apache/inc...
以下表格將說明 Dubbo Spring Cloud 版本關(guān)系映射關(guān)系:
Spring Cloud | Spring Cloud Alibaba | Spring Boot | Dubbo Spring Boot |
---|---|---|---|
Finchley | 0.2.2.RELEASE | 2.0.x | 2.7.1 |
Greenwich | 0.9.0.RELEASE | 2.1.x | 2.7.1 |
Edgware | 0.1.2.RELEASE | 1.5.x | Dubbo Spring Cloud 不支持該版本 |
由于 Dubbo Spring Cloud 構(gòu)建在原生的 Spring Cloud 之上,其服務治理方面的能力可認為是 Spring Cloud Plus,不僅完全覆蓋 Spring Cloud 原生特性13,而且提供更為穩(wěn)定和成熟的實現(xiàn),特性比對如下表所示:
功能組件 | Spring Cloud | Dubbo Spring Cloud |
---|---|---|
分布式配置(Distributed configuration) | Git、Zookeeper、Consul、JDBC | Spring Cloud 分布式配置 + Dubbo 配置中心14 |
服務注冊與發(fā)現(xiàn)(Service registration and discovery) | Eureka、Zookeeper、Consul | Spring Cloud 原生注冊中心15 + Dubbo 原生注冊中心16 |
負載均衡(Load balancing) | Ribbon(隨機、輪詢等算法) | Dubbo 內(nèi)建實現(xiàn)(隨機、輪詢等算法 + 權(quán)重等特性) |
服務熔斷(Circuit Breakers) | Spring Cloud Hystrix | Spring Cloud Hystrix + Alibaba Sentinel17 等 |
服務調(diào)用(Service-to-service calls) | Open Feign、RestTemplate | Spring Cloud 服務調(diào)用 + Dubbo @Reference |
鏈路跟蹤(Tracing) | Spring Cloud Sleuth18 + Zipkin19 | Zipkin、opentracing 等 |
Dubbo Spring Cloud 基于 Spring Cloud Commons 抽象實現(xiàn) Dubbo 服務注冊與發(fā)現(xiàn),應用只需增添外部化配置屬性 “dubbo.registry.address = spring-cloud://localhost”,就能輕松地橋接到所有原生 Spring Cloud 注冊中心,包括:
Nacos
Eureka
Zookeeper
Consul
Dubbo Spring Cloud 將在下個版本支持 Spring Cloud 注冊中心與 Dubbo 注冊中心并存,提供雙注冊機制,實現(xiàn)無縫遷移。2. Dubbo 作為 Spring Cloud 服務調(diào)用
默認情況,Spring Cloud Open Feign 以及 @LoadBalanced RestTemplate 作為 Spring Cloud 的兩種服務調(diào)用方式。Dubbo Spring Cloud 為其提供了第三種選擇,即 Dubbo 服務將作為 Spring Cloud 服務調(diào)用的同等公民出現(xiàn),應用可通過 Apache Dubbo 注解 @Service和 @Reference 暴露和引用 Dubbo 服務,實現(xiàn)服務間多種協(xié)議的通訊。同時,也可以利用 Dubbo 泛化接口輕松實現(xiàn)服務網(wǎng)關(guān)。
3. Dubbo 服務自省Dubbo Spring Cloud 引入了全新的服務治理特性 - 服務自省(Service Introspection),其設(shè)計目的在于最大化減輕注冊中心負載,去 Dubbo 注冊元信息中心化。假設(shè)一個 Spring Cloud 應用引入 Dubbo Spring Boot Starter,并暴露 N 個 Dubbo 服務,以 Dubbo Nacos 注冊中心 為例,當前應用將注冊 N+1 個 Nacos 應用,除 Spring Cloud 應用本身之前,其余 N 個應用均來自于 Dubbo 服務,當 N 越大時,注冊中心負載越重。因此,Dubbo Spring Cloud 應用對注冊中心的負載相當于傳統(tǒng) Dubbo 的 N 分之一,在不增加基礎(chǔ)設(shè)施投入的前提下,理論上,使其集群規(guī)模擴大 N 倍。當然,未來的 Dubbo 也將提供服務自省的能力。
4. Dubbo 遷移 Spring Cloud 服務調(diào)用盡管 Dubbo Spring Cloud 完全地保留了原生 Spring Cloud 服務調(diào)用特性,不過 Dubbo 服務治理的能力是 Spring Cloud Open Feign 所不及的,如高性能、高可用以及負載均衡穩(wěn)定性等方面。因此,建議開發(fā)人員將 Spring Cloud Open Feign 或者 @LoadBalanced RestTemplate 遷移為 Dubbo 服務。考慮到遷移過程并非一蹴而就,因此,Dubbo Spring Cloud 提供了方案,即 @DubboTransported 注解。該注解能夠幫助服務消費端的 Spring Cloud Open Feign 接口以及 @LoadBalanced RestTemplate Bean 底層走 Dubbo 調(diào)用(可切換 Dubbo 支持的協(xié)議),而服務提供方則只需在原有 @RestController 類上追加 Dubbo @Servce 注解(需要抽取接口)即可,換言之,在不調(diào)整 Feign 接口以及 RestTemplate URL 的前提下,實現(xiàn)無縫遷移。如果遷移時間充分的話,建議使用 Dubbo 服務重構(gòu)系統(tǒng)中的原生 Spring Cloud 服務的定義。
簡單示例開發(fā) Dubbo Spring Cloud 應用的方法與傳統(tǒng) Dubbo 或 Spring Cloud 應用類似,按照以下步驟就能完整地實現(xiàn)Dubbo 服務提供方和消費方的應用,完整的示例代碼請訪問一下資源:
Dubbo 服務提供方應用 - https://github.com/spring-clo...
Dubbo 服務消費方應用 - https://github.com/spring-clo...
定義 Dubbo 服務接口Dubbo 服務接口是服務提供方與消費方的遠程通訊契約,通常由普通的 Java 接口(interface)來聲明,如 EchoService 接口:
public interface EchoService { String echo(String message); }
為了確保契約的一致性,推薦的做法是將 Dubbo 服務接口打包在第二方或者第三方的 artifact(jar)中,如以上接口就存放在 artifact spring-cloud-dubbo-sample-api 之中。
對于服務提供方而言,不僅通過依賴 artifact 的形式引入 Dubbo 服務接口,而且需要將其實現(xiàn)。對應的服務消費端,同樣地需要依賴該 artifact,并以接口調(diào)用的方式執(zhí)行遠程方法。接下來進一步討論怎樣實現(xiàn) Dubbo 服務提供方和消費方。
實現(xiàn) Dubbo 服務提供方 初始化 spring-cloud-dubbo-server-sample Maven 工程首先,創(chuàng)建 artifactId 名為 spring-cloud-dubbo-server-sample 的 Maven 工程,并在其 pom.xml 文件中增添
Dubbo Spring Cloud 必要的依賴:
org.springframework.cloud spring-cloud-dubbo-sample-api ${project.version} org.springframework.boot spring-boot-actuator org.springframework.cloud spring-cloud-starter-dubbo org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery
以上依賴 artifact 說明如下:
spring-cloud-dubbo-sample-api : 提供 EchoService 接口的 artifact
spring-boot-actuator : Spring Boot Production-Ready artifact,間接引入 spring-boot artifact
spring-cloud-starter-dubbo : Dubbo Spring Cloud Starter artifact,間接引入 dubbo-spring-boot-starter 等 artifact
spring-cloud-starter-alibaba-nacos-discovery : Nacos Spring Cloud 服務注冊與發(fā)現(xiàn) artifact
值得注意的是,以上 artifact 未指定版本(version),因此,還需顯示地聲明
org.springframework.cloud spring-cloud-alibaba-dependencies 0.9.0.RELEASE pom import
以上完整的 Maven 依賴配置,請參考 spring-cloud-dubbo-server-sample pom.xml 文件
完成以上步驟之后,下一步則是實現(xiàn) Dubbo 服務
實現(xiàn) Dubbo 服務EchoService 作為暴露的 Dubbo 服務接口,服務提供方 spring-cloud-dubbo-server-sample 需要將其實現(xiàn):
@org.apache.dubbo.config.annotation.Service class EchoServiceImpl implements EchoService { @Override public String echo(String message) { return "[echo] Hello, " + message; } }
其中,@org.apache.dubbo.config.annotation.Service 是 Dubbo 服務注解,僅聲明該 Java 服務(本地)實現(xiàn)為 Dubbo 服務。
因此,下一步需要將其配置 Dubbo 服務(遠程)。
在暴露 Dubbo 服務方面,推薦開發(fā)人員外部化配置的方式,即指定 Java 服務實現(xiàn)類的掃描基準包。
Dubbo Spring Cloud 繼承了 Dubbo Spring Boot 的外部化配置特性,也可以通過標注 @DubboComponentScan 來實現(xiàn)基準包掃描。
同時,Dubbo 遠程服務需要暴露網(wǎng)絡(luò)端口,并設(shè)定通訊協(xié)議,完整的 YAML 配置如下所示:
dubbo: scan: # dubbo 服務掃描基準包 base-packages: org.springframework.cloud.alibaba.dubbo.bootstrap protocol: # dubbo 協(xié)議 name: dubbo # dubbo 協(xié)議端口( -1 表示自增端口,從 20880 開始) port: -1 registry: # 掛載到 Spring Cloud 注冊中心 address: spring-cloud://localhost spring: application: # Dubbo 應用名稱 name: spring-cloud-alibaba-dubbo-server main: # Spring Boot 2.1 需要設(shè)定 allow-bean-definition-overriding: true cloud: nacos: # Nacos 服務發(fā)現(xiàn)與注冊配置 discovery: server-addr: 127.0.0.1:8848
以上 YAML 內(nèi)容,上半部分為 Dubbo 的配置:
dubbo.scan.base-packages : 指定 Dubbo 服務實現(xiàn)類的掃描基準包
dubbo.protocol : Dubbo 服務暴露的協(xié)議配置,其中子屬性 name 為協(xié)議名稱,port 為協(xié)議端口( -1 表示自增端口,從 20880 開始)
dubbo.registry : Dubbo 服務注冊中心配置,其中子屬性 address 的值 "spring-cloud://localhost",說明掛載到 Spring Cloud 注冊中心
當前 Dubbo Spring Cloud 實現(xiàn)必須配置 dubbo.registry.address = spring-cloud://localhost,下一個版本將其配置變?yōu)榭蛇x
(參考 issue #592),
并且支持傳統(tǒng) Dubbo 協(xié)議的支持(參考 issue #588)
下半部分則是 Spring Cloud 相關(guān)配置:
spring.application.name : Spring 應用名稱,用于 Spring Cloud 服務注冊和發(fā)現(xiàn)。
該值在 Dubbo Spring Cloud 加持下被視作 dubbo.application.name,因此,無需再顯示地配置 dubbo.application.name
spring.main.allow-bean-definition-overriding : 在 Spring Boot 2.1 以及更高的版本增加該設(shè)定,
因為 Spring Boot 默認調(diào)整了 Bean 定義覆蓋行為。(推薦一個好的 Dubbo 討論 issue #3193)
spring.cloud.nacos.discovery : Nacos 服務發(fā)現(xiàn)與注冊配置,其中子屬性 server-addr 指定 Nacos 服務器主機和端口
以上完整的 YAML 配置文件,請參考 spring-cloud-dubbo-server-sample bootstrap.yaml 文件
完成以上步驟后,還需編寫一個 Dubbo Spring Cloud 引導類。
引導 Dubbo Spring Cloud 服務提供方應用Dubbo Spring Cloud 引導類與普通 Spring Cloud 應用并無差別,如下所示:
@EnableDiscoveryClient @EnableAutoConfiguration public class DubboSpringCloudServerBootstrap { public static void main(String[] args) { SpringApplication.run(DubboSpringCloudServerBootstrap.class); } }
在引導 DubboSpringCloudServerBootstrap 之前,請?zhí)崆皢?Nacos 服務器。
當 DubboSpringCloudServerBootstrap 啟動后,將應用 spring-cloud-dubbo-server-sample 將出現(xiàn)在 Nacos 控制臺界面。
當 Dubbo 服務提供方啟動后,下一步實現(xiàn)一個 Dubbo 服務消費方。
實現(xiàn) Dubbo 服務消費方由于 Java 服務就 EchoService、服務提供方應用 spring-cloud-dubbo-server-sample 以及 Nacos 服務器均已準備完畢。Dubbo 服務消費方
只需初始化服務消費方 Maven 工程 spring-cloud-dubbo-client-sample 以及消費 Dubbo 服務。
與服務提供方 Maven 工程類,需添加相關(guān) Maven 依賴:
org.springframework.cloud spring-cloud-alibaba-dependencies 0.9.0.RELEASE pom import org.springframework.cloud spring-cloud-dubbo-sample-api ${project.version} org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-actuator org.springframework.cloud spring-cloud-starter-dubbo org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery
與應用 spring-cloud-dubbo-server-sample 不同的是,當前應用依賴 spring-boot-starter-web,表明它屬于 Web Servlet 應用。
以上完整的 Maven 依賴配置,請參考 spring-cloud-dubbo-client-sample pom.xml 文件配置 Dubbo 服務消費方
Dubbo 服務消費方配置與服務提供方類似,當前應用 spring-cloud-dubbo-client-sample 屬于純服務消費方,因此,所需的外部化配置更精簡:
dubbo: registry: # 掛載到 Spring Cloud 注冊中心 address: spring-cloud://localhost cloud: subscribed-services: spring-cloud-alibaba-dubbo-server spring: application: # Dubbo 應用名稱 name: spring-cloud-alibaba-dubbo-client main: # Spring Boot 2.1 需要設(shè)定 allow-bean-definition-overriding: true cloud: nacos: # Nacos 服務發(fā)現(xiàn)與注冊配置 discovery: server-addr: 127.0.0.1:8848
對比應用 spring-cloud-dubbo-server-sample,除應用名稱 spring.application.name 存在差異外,spring-cloud-dubbo-client-sample
新增了屬性 dubbo.cloud.subscribed-services 的設(shè)置。并且該值為服務提供方應用 "spring-cloud-dubbo-server-sample"。
dubbo.cloud.subscribed-services : 用于服務消費方訂閱服務提供方的應用名稱的列表,若需訂閱多應用,使用 "," 分割。
不推薦使用默認值為 "*",它將訂閱所有應用。
當應用使用屬性 dubbo.cloud.subscribed-services 默認值時,日志中將會輸出一行警告:
Current application will subscribe all services(size:x) in registry, a lot of memory and CPU cycles may be used,
thus it"s strongly recommend you using the externalized property "dubbo.cloud.subscribed-services" to specify the services
由于當前應用屬于 Web 應用,它會默認地使用 8080 作為 Web 服務端口,如果需要自定義,可通過屬性 server.port 調(diào)整。
以上完整的 YAML 配置文件,請參考 spring-cloud-dubbo-client-sample bootstrap.yaml 文件引導 Dubbo Spring Cloud 服務消費方應用
為了減少實現(xiàn)步驟,以下引導類將 Dubbo 服務消費以及引導功能合二為一:
@EnableDiscoveryClient @EnableAutoConfiguration @RestController public class DubboSpringCloudClientBootstrap { @Reference private EchoService echoService; @GetMapping("/echo") public String echo(String message) { return echoService.echo(message); } public static void main(String[] args) { SpringApplication.run(DubboSpringCloudClientBootstrap.class); } }
不僅如此,DubboSpringCloudClientBootstrap 也作為 REST Endpoint,通過暴露 /echo Web 服務,消費 Dubbo EchoService 服務。因此,
可通過 curl 命令執(zhí)行 HTTP GET 方法:
$ curl http://127.0.0.1:8080/echo?message=%E5%B0%8F%E9%A9%AC%E5%93%A5%EF%BC%88mercyblitz%EF%BC%89
HTTP 響應為:
[echo] Hello, 小馬哥(mercyblitz)
以上結(jié)果說明應用 spring-cloud-dubbo-client-sample 通過消費 Dubbo 服務,返回服務提供方 spring-cloud-dubbo-server-sample 運算后的內(nèi)容。
高階示例如果您需要進一步了解 Dubbo Spring Cloud 使用細節(jié),可參考官方 Samples:https://github.com/spring-clo...
其子模塊說明如下:
spring-cloud-dubbo-sample-api:API 模塊,存放 Dubbo 服務接口和模型定義
spring-cloud-dubbo-provider-web-sample:Dubbo Spring Cloud 服務提供方示例(Web 應用)
spring-cloud-dubbo-provider-sample:Dubbo Spring Cloud 服務提供方示例(非 Web 應用)
spring-cloud-dubbo-consumer-sample:Dubbo Spring Cloud 服務消費方示例
spring-cloud-dubbo-servlet-gateway-sample:Dubbo Spring Cloud Servlet 網(wǎng)關(guān)簡易實現(xiàn)示例
問題反饋如果您在使用 Dubbo Spring Cloud 的過程中遇到任何問題,請內(nèi)容反饋至 https://github.com/spring-clo...
進階閱讀關(guān)于更多的 Dubbo Spring Cloud 特性以及設(shè)計細節(jié),請關(guān)注
Spring Cloud Alibaba wiki - https://github.com/spring-clo...
Dubbo 的博客:http://dubbo.apache.org/zh-cn...
下篇預告接下的文章將會介紹 Dubbo Spring Cloud 高階示例的運用和實現(xiàn),敬請關(guān)注小馬哥微信公眾號:次靈均閣
獲得最新 Dubbo Spring Cloud 相關(guān)資訊。
新書推薦本書全名為《Spring Boot 編程思想》,是以 Spring Boot 2.0 為討論的主線,討論的范圍將涵蓋 Spring Boot 1.x 的所有版本,以及所關(guān)聯(lián)的 Spring Framework 版本,致力于:
場景分析:掌握技術(shù)選型
系統(tǒng)學習:拒絕淺嘗輒止
重視規(guī)范:了解發(fā)展趨勢
源碼解讀:理解設(shè)計思想
實戰(zhàn)演練:鞏固學習成果
歡迎小伙伴在京東或當當訂購分享推薦 免費分享
京東存有少量現(xiàn)貨(隨機發(fā)送簽名版),可先睹為快:http://t.cn/ExjBU2M
當當價格優(yōu)惠,需要五月初發(fā)貨:http://t.cn/EX0QteF
「小馬哥技術(shù)周報」
斗魚直播
B 站錄播
「慕課網(wǎng)」
Spring Boot 2.0深度實踐-初遇Spring Boot
Spring Boot 2.0深度實踐之系列總覽
「SegmentFault」
「小馬哥 2019 跨年直播」一入 Java 深似海,從此“勸退”成必然
收費分享「小馬哥 Java 知識星球」
深入探討 Java 相關(guān)技術(shù),包括行業(yè)動態(tài),架構(gòu)設(shè)計,設(shè)計模式,框架使用,源碼分析等。
SegmentFault 直播
《Java 微服務實踐 - Spring Boot / Spring Cloud》
《一入 Java 深似海》
慕課視頻
《Spring Boot 2.0深度實踐之核心技術(shù)篇》
慕課網(wǎng)
Spring Boot 2.0深度實踐之核心技術(shù)篇
Spring Boot 2.0深度實踐之生態(tài)整合篇(即將上線...)
關(guān)于作者小馬哥,Java 勸退師,Apache 和 Spring Cloud 等知名開源架構(gòu)成員,點擊查看詳情。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74319.html
摘要:原文鏈接時代,架構(gòu)該怎么跟進,來自于微信公眾號次靈均閣作為核心開發(fā)者,請先簡單介紹下自己答大家好,我是小馬哥,一名學習當爸爸的父親,勸退師,項目架構(gòu)師,編程思想的作者。因此,需求的來源不再已阿里為絕對主導,社區(qū)共建和共制的發(fā)展模式已成事實。 原文鏈接:Service Mesh 時代,Dubbo 架構(gòu)該怎么跟進?,來自于微信公眾號:次靈均閣 作為 Duboo 核心開發(fā)者,請先簡單介紹下...
摘要:原文鏈接時代,架構(gòu)該怎么跟進,來自于微信公眾號次靈均閣作為核心開發(fā)者,請先簡單介紹下自己答大家好,我是小馬哥,一名學習當爸爸的父親,勸退師,項目架構(gòu)師,編程思想的作者。因此,需求的來源不再已阿里為絕對主導,社區(qū)共建和共制的發(fā)展模式已成事實。 原文鏈接:Service Mesh 時代,Dubbo 架構(gòu)該怎么跟進?,來自于微信公眾號:次靈均閣 作為 Duboo 核心開發(fā)者,請先簡單介紹下...
摘要:目前首個測試版是針對環(huán)境的,社區(qū)宣稱在未來幾個月內(nèi)會為虛擬機和等其他環(huán)境增加支持。查看下在上的更新時間,截止年月日所有項目均更新于小時內(nèi)。核心項目最近更新于一個月乃至數(shù)月前。所有項目均更新于分鐘內(nèi)。目前對比來看,則顯得稍遜下來。 showImg(https://segmentfault.com/img/remote/1460000010953149); 在 Kubernetes 容器云...
摘要:分布式架構(gòu)五大核心套件服務發(fā)現(xiàn)云端服務發(fā)現(xiàn),一個基于的服務,用于定位服務,以實現(xiàn)云端中間層服務發(fā)現(xiàn)和故障轉(zhuǎn)移。 1 后端技術(shù)框架我們選擇Spring Cloud作為微服務的分布式架構(gòu):Spring Cloud vs Dubbo? 背景 Dubbo,是阿里巴巴服務化治理的核心框架,并被廣泛應用于阿里巴巴集團的各成員站點。Spring Cloud,是Spring Source的產(chǎn)物...
閱讀 3023·2023-04-26 00:32
閱讀 507·2019-08-30 15:52
閱讀 2113·2019-08-30 15:52
閱讀 3356·2019-08-30 15:44
閱讀 3288·2019-08-30 14:09
閱讀 1423·2019-08-29 15:15
閱讀 3400·2019-08-28 18:12
閱讀 1083·2019-08-26 13:55