spring Cloud是目前最流行的进行微服务架构的框架之一,是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集。目前已经在各大互联网公司得到广泛应用,是进行微服务架构的优先选择工具,也是程序员进阶和架构师必备的技术。
Spring Cloud模块介绍
Spring Cloud模块的相关介绍如下:
1. Eureka:服务注册中心,用于服务管理。
2. Ribbon:基于客户端的负载均衡组件。
3. Hystrix:容错框架,能够防止服务的雪崩效应。
4. Feign:Web服务客户端,能够简化HTTP接口的调用。
5. Zuul:API网关,提供路由转发、请求过滤等功能。
6. Config:分布式配置管理。
7. Sleuth:服务跟踪。
8. Stream:构建消息驱动的微服务应用程序的框架。
9. Bus:消息代理的集群消息总线。
Spring Cloud的组成
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka,ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
Spring Cloud Netflix是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
Spring Cloud Config将配置信息中央化保存,配置Spring Cloud Bus可以实现动态修改配置文件
Spring Cloud Bus分布式消息队列,是对Kafka,MQ的封装
Spring Cloud Security对Spring Security的封装,并能配合Netflix使用
Spring Cloud Zookeeper对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。