springcloud
它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,
如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,
都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,
通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,
最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud的子项目,大致可分成两类,
一类是对现有成熟框架“Spring Boot化”的封装和抽象,也是数量最多的项目;
第二类是开发了一部分分布式系统的基础设施的实现,
如Spring Cloud Stream扮演的就是Kafka,ActiveMQ这样的角色。
对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
Spring Cloud Netflix是对Netflix开发的一套分布式服务框架的封装,
包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
Spring Cloud Config将配置信息中央化保存,
配置Spring Cloud Bus可以实现动态修改配置文件,
Spring Cloud Stream分布式消息队列,是对Kafka,ActiveMQ的封装
Spring Cloud Security对Spring Security的封装,并能配合Netflix使用
Spring Cloud Zookeeper对Zookeeper的封装,
使之能配置其它Spring Cloud的子项目使用,
Spring Cloud Eureka是Spring Cloud Netflix 微服务套件中的一部分,
它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。