亲自动手搭建微服务框架和测试环境-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


猜你喜欢

转载自blog.51cto.com/5526964/2426401