Spring Cloud

历史
微服务:Martin Fowler 在2014 年写的一篇文章《MicroServices 》中提出微服务
Spring:Rod Johnson于2004年发布了Spring Framework,2013 年Spring 项目被转到VMware投资的 Pivotal 软件公司
Netflix:1997年在美国成立的一家在线视频公司,开源了Netflix OSS

官网:https://spring.io/projects/spring-cloud
Spring Cloud版本:版本名称来自于伦敦地铁站名

与Apache Dubbo对比
1、Dubbo缺少统一配置、API网关、链路追踪等功能模块
2、Dubbo基于RPC,不能跨语言
3、Spring Cloud社区更活跃

与Google Kubernetes对比
Spring Cloud优点:有大量现成的类库和资源,开发者友好
Spring Cloud缺点:需要在代码中关注微服务的功能点
Kubernetes优点:支持多种语言,在容器管理上提供了微服务的功能
Kubernetes缺点:学习成本高,DevOps友好

Spring Cloud 组件

1、Spring Boot
2、Spring Cloud Netflix(封装于Netflix OSS)
Eureka:服务注册与发现,也可以用zookeeper、Consul
Ribbon:负载均衡
OpenFeign:服务调用
Zuul:服务网关
Hystrix:限流熔断
3、Spring Cloud Config:配置中心
4、Spring Cloud Sleuth:调用链追踪(链路监控)
5、Spring Cloud Stream:消息队列操作,支持Kafka、RabbitMQ
6、Spring Cloud Bus:消息总线,配合消息队列,实现一点发出的事件能被所有节点监听到
7、Spring Boot Admin:提供UI界面,管理和监控Spring Boot应用
8、Spring Boot Security:封装于Spring Security
另有:Spring Cloud Consul(封装于Hashicorp Consul)、Spring Cloud Zookeeper(封装于Apache Zookeeper)

信息流:服务网关(Service Gateway) -> 前端服务(Edge Service,边缘服务)-> 后端服务(Middle Tier Service,中间层服务)
服务注册中心:前端服务 和 后端服务 在注册中心注册自己的服务;服务网关在注册中心发现前端服务,前端服务在注册中心发现后端服务
前端服务:负责数据的聚合 和 裁剪

Eureka

详见:https://www.jianshu.com/p/9cd64b8b67da

Ribbon 与 OpenFeign

详见:https://www.jianshu.com/p/758138033b21

Config

详见:https://www.jianshu.com/p/f6b05dcb4e28

Zuul

详见:https://www.jianshu.com/p/78378ab8ab93

Hystrix

详见:https://www.jianshu.com/p/d372f4b8f44d

Sleuth

详见:https://www.jianshu.com/p/77fdd698f445

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容