你还不知道Spring cloud是干什么的,那你就out了

客套的话不多说了,直接上干货

首先介绍下Spring cloud是干什么的:

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造*,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

有哪些功能:

1. 服务的注册与发现(Eureka)

2. 服务消费者(rest+ribbon)(Feign)

3. 断路器(Hystrix)

4. 路由网关(zuul)

5. 高可用分布式配置中心(Spring Cloud Config)

6. 消息总线(Spring Cloud Bus)

7. 服务链路追踪(Spring Cloud Sleuth)

8. 断路器监控(Hystrix Dashboard)

9. 断路器聚合监控(Hystrix Turbine)

10. 服务注册(consul)

所构成的主要有以下产品,它们所提供的服务有可能是相似的,需要配合使用

1. spring所提供的:

· 高可用分布式配置中心(Spring Cloud Config)

· 消息总线(Spring Cloud Bus)

· 服务链路追踪(Spring Cloud Sleuth)

2. Netflix所提供的

· 服务的注册与发现(Eureka)

· 断路器(Hystrix)

· 路由网关(zuul)

· 断路器监控(Hystrix Dashboard)

· 断路器聚合监控(Hystrix Turbine)

· 服务消费者(rest+ribbon)

3. OpenFeign所提供的

· 服务消费者(Feign)

大概常用的就是这些 了

这篇文章给大家主要讲讲服务的注册与发现,服务消费者,断路器这3个东西

大家都知道spring cloud是一个微服务框架,是将一个大的项目分成多个服务分别部署然后相互调用,他是如何实现的那:

本例用Eureka+rest+ribbon

首先创建一个注册中心的一个项目,来发现微服务管理微服务,这样我们就可以吧所有微服务挂载到下面来管理

创建一个spring boot的项目引入cloud的eureke依赖

Cloud版本使用的是Camden.SR7

org.springframework.cloudspring-cloud-starter-eureka-server

org.springframework.cloudspring-cloud-dependenciesCamden.SR7pomimport在启动类上添加@EnableEurekaServer 注解添加配置信息server:port: 7900 #服务端口号eureka:instance:hostname: localhost #服务实例名client:registerWithEureka: false #是否将自身注册,因为没有集群所以不需要讲自身注册为服务fetchRegistry: false #fetchRegistry表示是否从eureka服务器获取注册信息,同上serviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #defaultZone就比较重要了,是设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址启动服务即可访问http://localhost:8761

创建服务类引入依赖org.springframework.bootspring-boot-starter-weborg.springframework.cloudspring-cloud-starter-eurekaspring: application: name: microservice-consumer-movie #配置应用名称,远程调用课通过名称识别server: port: 7901 #端口号eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka #将服务注册到注册中心在启动类上添加注解@EnableEurekaClient并创建restTemplate 对象用来远程调用@Beanpublic RestTemplate restTemplate() { return new RestTemplate();}启动项目即可看到注册成功

大家有什么不明白的可以私信给我。我会一个一个解答

你还不知道Spring cloud是干什么的,那你就out了