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内嵌 |
单元测试 | 支持 | 支持 | 支持 |
性能对比:(引用网上一张图)
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已经开源)。
SpringCloud源码位置:
https://github.com/spring-cloud
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。