提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。(作者:哈喽沃德先生,请关注公众号:哈喽沃德先生)
Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,Spring Cloud 就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,Spring Cloud 做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。
Spring Cloud 包含很多子项目,我们重点围绕 Netflix 和 Alibaba 两个标准实现给大家介绍:
>
Netflix是一家美国公司,在美国、加拿大提供互联网随选流媒体播放,定制DVD、蓝光光碟在线出租业务。该公司成立于1997年,总部位于加利福尼亚州洛斯盖图,1999年开始订阅服务。2009年,该公司可提供多达10万部DVD电影,并有1千万的订户。2007年2月25日,Netflix宣布已经售出第10亿份DVD。HIS一份报告中表示,2011年Netflix网络电影销量占据美国用户在线电影总销量的45%。 ❞
针对多种 Netflix 组件提供的开发工具包,其中包括 Eureka、Ribbon、Feign、Hystrix、Zuul、Archaius 等。
Netflix Eureka
Netflix Ribbon
Netflix Hystrix
Netflix Feign
Netflix Zuul
Netflix Archaius
同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案。Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
这幅图是 Spring Cloud Alibaba 系列组件,其中包含了阿里开源组件,阿里云商业化组件,以及集成 Spring Cloud 组件。
「阿里开源组件」
Nacos
Sentinel
RocketMQ
Dubbo
Seata
「阿里商业化组件」
Alibaba Cloud ACM
Alibaba Cloud OSS
Alibaba Cloud SchedulerX
Alibaba Cloud SMS
作为 Spring Cloud 体系下的新实现,Spring Cloud Alibaba 跟官方的组件或其它的第三方实现如 Netflix,Consul,Zookeeper 等对比,具备了更多的功能:
Spring Cloud Netflix Eureka
Spring Cloud Zookeeper
Spring Cloud Consul
Spring Cloud Netflix Ribbon
Spring Cloud Netflix Hystrix
Spring Cloud Netflix Feign
Spring Cloud OpenFeign(可替代 Feign)
Spring Cloud Netflix Zuul
Spring Cloud Gateway(可替代 Zuul)
Spring Cloud Security
Spring Cloud Config
Spring Cloud Bus
Spring Cloud Stream
Spring Cloud Sleuth
Spring Cloud Alibaba Nacos
Spring Cloud Alibaba Sentinel
Spring Cloud Alibaba RocketMQ
Spring Cloud Alibaba Dubbo
Spring Cloud Alibaba Seata
虽然 Eureka,Hystrix 等不再继续开发或维护,但是目前来说不影响使用,不管怎么说感谢开源,向 Netflix 公司的开源致敬。
原文链接:https://www.cnblogs.com/shsxt/p/13346137.html