哈喽各位同学们大家好呀,今天是开发者学院中课程“Spring Cloud微服务架构设计与开发实战”的章节二的“微服务注册与发现Eureka ”干货总结~是一起学习新课程吧!
课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇
课程名称:微服务注册与发现Eureka
课程地址https://developer.aliyun.com/learning/course/60/detail/1085
图谱名称:Alibaba Java 技术图谱
图谱地址:https://developer.aliyun.com/graph/java
微服务注册与发现Eureka
各位同学大家好,我们继续学习Spring Cloud微服务架构,设计与实践开发课程。这节课的话我们讲下实战的开发工作,我们现在要做什么?我们要做一个微服务的注册中心,来解决微服务的一个注册和发现问题。
一、Spring Cloud服务注册与发现
如何解决微服务的注册和发现,对于微服务来说,我们要实地进行拆分,进行部署的时候,实例数量是不固定的,可能是2个或者200个,2000个,都有可能。微服务的实际数量是弹性伸缩的,这一点它和传统的架构不太一样。微服务弹性实际上有点像云计算原生靠拢,这点也是他的 优势。微服务本身拆分以后能够很好的进行治理,进行快速的部署。
服务注册与发现
1. 大规模微服务集群架构
2. 许多服务实例
3. 客户端要找到自己调用的服务
4. 新服务上线
5. 某个服务宕机,下线
6. 实时监控服务的状态
解决大规模服务的集群的注册和发现问题主要为了方便方便客户端的一个调用,假设我们开发了一个微服微的订单服务,开始只取一台服务,客户端直接调用微服务就可以了,但是如是取两台,写2个服务IP地址或者做轮巡都不太理想,因为遇到大型促销场景,需要增加10台,或者1000台都要更改配置列,服务的实力实力全部给拿进来。
当服务的微服务的集群的数量增加的时候,弹性增加的时候,不定增加的时候,这时候需摇有一种方案能够去解决这个问题,把客户端和服务集群能够解偶。解偶很重要就是注册中心,帮我们去管理这些服务。
Spring Cloud Eureka服务发现与注册
1. Netflix公司开源的项目
2.Eureka:注册中心,
3. 一个基于 REST 的中心服务,管理服务,
4. 实现云端的服务注册和服务发现。
5. Eureka组件组成:Eureka服务器和Eureka客户端
6. 竞争对手ZooKeeper
7. 服务发现模块(Eureka)是Netflix的核心
8. Spring Cloud Netflix提供的简化开发模板
9. 直接使用spring boot,创建项目
10. 添加@EnableEurekaServer 开发注册服务中心
在微服务架构体系里面,Netflix公司贡献了其中一个很重要的项目叫Eureka,主要是解决服务注册中心的问题。ZooKeeper也是同类型的产品,Spring Cloud通过扩展组件进行集成。
咱们主要是要介绍实在开发,后面叫底层原理原码给大家留做扩展作业,后面给大家介绍。
Spring Cloud 架构图
微服务的实体数量是动态的,有可能是一台,也有可能是两台,有可能是100台1000台,我微服务的数量是弹性的,灵活弹性根据客户端的压力我来做弹性伸缩,我客户端调微服务的话,不是直接找微服务了,是先找注册中心,有哪些好的微服务,哪有哪些匹配的,比如我找订单微服务,就是找支付微服务,每次去找搜索,如有最新的列表给到,再去调用它们。客户端也可以按照各种负载均衡的策略去调,结合一些负载均衡的算法来做一个灵活的调度。
二、Eureka注册中心开发实战
Spring Eureka注册中心
1. 创建Eureka服务注册中心项目
2. 添加@EnableEurekaServer
3. 将spring boot应用改造成Eureka服务注册中心
4. application.properties增加配置
5. 打包项目
6. 运行
7. 测试页面
8.参考https://spring.io/guides/gs/serviceregistration-and-discovery/
配置文件内容
数据中心主要复杂的就是配置,如果记不住可以在文档里面拷贝过来。
配置中心正常的界面
注意事项:
@EnableEurekaServer,主要是让服务具备注册中心的能力。
再进行配置文件,配置文件有几个核心参数,端口一定要配对。
- Eureka底层原理与源码分析