Spring Cloud(Eureka,Feign,Hystrix整合)
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。
一、Spring Cloud 流程说明
Spring Cloud是一套解决方案,是一套工具。这套工具是用来解决企业如何构建分布式架构的问题!我们通过一张XMIND图来了解Spring Cloud通过那些组件帮助我们实现分布式架构。
通过流程图我们可以清晰的看到,Spring Cloud 通过Eureka 来进行服务的发现与管理,然后通过Feign来进行服务与服务之间的交互。Hystrix主要来应对服务间调度时异常解决。
Spring Cloud的思想最主要的就是拆分,或者说分布式架构的理念就是“拆”。将一个个复杂的,相互交错的服务进行拆分,然后通过一个服务管理中心进行发现与管理。因此,我们学Spring Cloud的目标就是要将一个庞大的项目进行拆分成颗粒度更小的服务,将不同的服务抽出来,当我们需要的时候进行组合即可。
二、Eureka,Feign,Hystrix组件说明
2、1 Eureka组件说明
2、2 Feign组件说明
2、3 Hystrix组件说明
三、组件整合代码实现
3.1使用Eureka实现注册中心
3.1.1创建项目
我们通过idea创建一个Spring Boot项目需要注意的是Spring Cloud的体系是基于Spring Boot的。
选择相应的项目
3.1.2添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository 我们需要用 1.5.6版本-->
</parent>
<grou