联系客服:400-805-1963

亲自动手搭建微服务框架和测试环境-8-SpringCloud
更新:HHH   时间:2023-1-7


1 EJB、Dubbo、SpringCloud对比(SOA,微服务)


EJB

Dubbo

SpringCloud

开发方

标准由oracle开发

阿里

Spring社区

最新版本及时间

3.1,2009年

2.5.3,2012年10月23号

Finchley.SR1,2018年8月1号

维护状态

不活跃,3.2只是草案

不再继续维护

活跃

互联网应用案例

暂未发现

阿里、京东、当当等

中国联通

华为

基于协议

Rmi

可选,默认dobbo

http

可用的语言

Java

Java

所有语言

分布式事物

是

否

否

无状态部署

否

是

是

服务器治理

服务发现、负载均衡

服务发现、服务路由、服务负载均衡、服务列表、服务分组、服务依赖管理、服务权重、服务授权、服务直连、上下文隐式传参、分组聚合、结果缓存

除dubbo有的外:服务网关、断路器、服务跟踪、消息总线、批量任务

分布式配置

无

第三方

有

基于的web容器

Jboss

Tomcat内嵌

Tomcat内嵌

单元测试

支持

支持

支持


性能对比:(引用网上一张图)


2 版本说明

SRx=Service Release x:服务发布版,正式版本

Finchley.SR1 (2.0.1)于2018年8月1日发布,有厂商已经从1.x升级过来,1.x和2.x的组件对比如下图:


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



SpringCloud 2.0.1相比1.x主要配置区别如下:

(1)SpringBoot从1.x(最新发布版1.5.17 GA,发布日2018.10.16)升级为2.x(最新发布版为2.0.6GA,发布日2018.10.16),SpringCloud 2.x必须基于SpringBoot2.x,SpringCloud1.x必须基于SpringBoot1.x

(2)Eureka服务器依赖org.springframework.cloud需要变更

<artifactId>spring-cloud-starter-eureka-server</artifactId>变为:

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

(3)Eureka客户端依赖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认证方式

(8)maven需要修改run.profiles为spring-boot.run.profiles

spring-boot:run -Drun.profiles= …改为:

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

(9)Spring Cloud Gateway代替了Spring Cloud Zuul,主要原因是Zuul 2.0没有及时开源(后来Netfilx已经开源)。


3 源码

SpringCloud源码位置:

https://github.com/spring-cloud


返回软件技术教程...