親自動手搭建微服務框架和測試環境-8-SpringCloud

1 EJBDubboSpringCloud對比(SOA,微服務


EJB

Dubbo

SpringCloud

開發方

標準由oracle開發

阿里

Spring社區

最新版本及時間

3.12009

2.5.320121023

Finchley.SR1201881

維護狀態

不活躍,3.2只是草案

不再繼續維護

活躍

互聯網應用案例

暫未發現

阿里、京東、噹噹等

中國聯通

華爲

基於協議

Rmi

可選,默認dobbo

http

可用的語言

Java

Java

所有語言

分佈式事物

無狀態部署

服務器治理

服務發現、負載均衡

服務發現、服務路由、服務負載均衡、服務列表、服務分組、服務依賴管理、服務權重、服務授權、服務直連、上下文隱式傳參、分組聚合、結果緩存

dubbo有的外:服務網關、斷路器、服務跟蹤、消息總線、批量任務

分佈式配置

第三方

基於的web容器

Jboss

Tomcat內嵌

Tomcat內嵌

單元測試

支持

支持

支持


性能對比:(引用網上一張圖)

image.png


2 版本說明

SRx=Service Release x:服務發佈版,正式版本

Finchley.SR1 2.0.1)於201881日發佈,有廠商已經從1.x升級過來,1.x2.x的組件對比如下圖:

image.png


其中,相比版本2.0.0,版本2.0.1組件版本如下:


image.png


SpringCloud 2.0.1相比1.x主要配置區別如下:

1SpringBoot1.x(最新發布版1.5.17 GA,發佈日2018.10.16)升級爲2.x(最新發布版爲2.0.6GA,發佈日2018.10.16),SpringCloud 2.x必須基於SpringBoot2.xSpringCloud1.x必須基於SpringBoot1.x

2Eureka服務器依賴org.springframework.cloud需要變更

<artifactId>spring-cloud-starter-eureka-server</artifactId>變爲:

<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

3Eureka客戶端依賴org.springframework.cloud需要變更

<artifactId>spring-cloud-starter-eureka</artifactId>變爲:

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

4)註冊中心IP地址配置

${spring.cloud.client.ipAddress}變爲:

${spring.cloud.client.ip-address}

5)安全加密Spring Security的用戶密碼配置在security前面加spring

spring:

security:

user:

name:

password:

6)安全加密Spring Security默認開啓CSRF防禦(可能導致兩個註冊中心無法相互註冊),使用:

http.csrf().ignoringAntMatchers("/eureka/**");

7)安全加密Spring Security模塊導致配置中心無法加解密

因爲認證方式有改變,可以改回 basic auth認證方式

8maven需要修改run.profilesspring-boot.run.profiles

spring-boot:run -Drun.profiles= 改爲:

spring-boot:run -Dspring-boot.run.profiles=

9Spring Cloud Gateway代替了Spring Cloud Zuul,主要原因是Zuul 2.0沒有及時開源(後來Netfilx已經開源)。


3 源碼

SpringCloud源碼位置:

https://github.com/spring-cloud


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章