1 EJB、Dubbo、SpringCloud对比(SOA,微服务)
EJB 创新互联-专业网站定制、快速模板网站建设、高性价比瑞昌网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式瑞昌网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖瑞昌地区。费用合理售后完善,10年实体公司更值得信赖。 | 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需要变更
(3)Eureka客户端依赖org.springframework.cloud需要变更
(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 CloudZuul,主要原因是Zuul 2.0没有及时开源(后来Netfilx已经开源)。
3 源码
SpringCloud源码位置:
https://github.com/spring-cloud
文章题目:亲自动手搭建微服务框架和测试环境-8-SpringCloud
转载注明:http://scpingwu.com/article/ijhede.html