Spring Cloud微服务框架介绍

Spring Cloud为开发人员提供了一整套的快速构建分布式应用的工具,入服务注册、服务发现、熔断、负载均衡、路由等,提供了开箱即用的各种依赖以及良好的可扩展机制。

目前在Spring Cloud的中文官网中列出了很多优质项目:
image

Spring Cloud没有重复的制造轮子,它吸取了很多家公司的优秀项目框架,通过Spring Boot的快速整合,屏蔽了复杂的配置,方便开发者快速构建自己需要的服务。

目前Spring Cloud为我们可以提供以下服务:

image

下面我们介绍几个常用的Spring Cloud下的服务组件。

1. Eureka

Netfilix公司出品(大佬为Spring Cloud生态提供了很多服务治理的组件)。

服务发现是微服务架构的原则之一,用于定位你在本地可提供的服务。Eureka是一个基于REST的云端服务发现的应用,当客户端注册Eureka服务时,提供了一系列自身的元数据,入主机、健康指示符URL等参数,Eureka服务器接收心跳消息维持这种服务。

2. Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

加入你目前的软件架构如下:
image
当ServiceB出现服务故障,并达到一定的阈值(Hystrix的默认是5秒内出现20次故障),则出现熔断机制,启用回退机制:
image

fallback机制可以是启动替代服务,也可以是让该服务下线。

3. Spring Cloud Config

配置中心,可以把配置放到远程服务器,进行集中化管理分布式环境下的配置,支持Git和SVN。

4. Spring Cloud Bus

事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

5. Spring Cloud Zookeeper

Spring Boot抱紧ZK的大腿。

6. 和Spring Boot的关系

Spring Boot是快速开发Spring应用的脚手架,Spring Cloud是一个基础Spring Boot实现的云应用开发工具集合。

7. 结尾语

Spring Cloud特别适合中小型公司,因为它们往往没有足够的财力开发各种基础设施,而Spring Could提供了一站式解决方案,大大减少了开发成本。对于大公司,Spring Could也方便构建核心系统之外的微服务,甚至抽丝剥茧般地对原来的巨型核心系统解耦。因此笔者相信Spring Cloud可成为下一代服务端框架的重要选择。

posted on 2018-10-25 08:22  时间朋友  阅读(1149)  评论(0编辑  收藏  举报

导航