你还不知道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();}启动项目即可看到注册成功
大家有什么不明白的可以私信给我。我会一个一个解答
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?