引用:服务注册与发现,就像是租房子一样
今天洛阳下雨了,唉,没有想到有裹上了羽绒服,不穿冷穿了热的尴尬温度。上学工作这么多年都在外面,家里竟然没有一件春天的外套。
日常闲聊之后,开始今天的芝士环节。
昨天说过了什么是SpringCloud,提到了SpringCloud实际上是很多技术的合集,今天就来学习第一个技术 Eureka。
Eureka在微服务的体系中,主要的功能是实现服务治理,服务注册与发现的,那么什么是服务注册与发现呢?
在第一篇文章讲到过,微服务就是将项目中的模块按照业务来进行拆分,如上图,商品是一个独立的服务,订单也是独立的服务,还可以根据需要将订单服务部署为两个。然后商品服务需要使用订单的时候,就去调用订单服务。
但是在上图中有几个问题是需要解决的:
解决以上问题的方案就是:引入服务管理者,就是服务治理。
先举一个生活的小栗子:
通过以上例子我们得到下图:
服务治理的管理者我们称之为注册中心。
服务注册:每个服务在启动的时候,告诉注册中心自己的位置信息。
服务发现:商品服务想要调用订单服务,先找注册中心获取到所有服务的位置信息,然后找到订单服务的地址,发起调用。
心跳机制:服务启动之后,每过30秒向注册中心心跳一次(就是发送一个消息,告诉注册中心自己还活着),如果注册中心长时间没有收到某个服务的心跳,那么就会认为这个服务已经宕机,就从服务注册列表中删除。
Spring Cloud封装了Netlix 公司开发的Eureka模块来实现服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
在Eureka的架构中,分为 Eureka Server 和 Eureka client。
Eureka Server 作为服务注册功能的服务器,它是服务注册中心。
Eureka Server提供服务注册服务:各个节点启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到(监控页面)
而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
EurekaClient是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。
要掌握SpringCloud更多的用法,请持续关注本系列教程。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。