黑马程序员技术交流社区

标题: 【广州校区】【原创】 Eureka实现原理 [打印本页]

作者: 新君    时间: 2019-11-6 09:20
标题: 【广州校区】【原创】 Eureka实现原理
1 问题引入相信网约车大家都知道,以前人们出门叫车只能叫出租车。一些私家车想做出租却没有资格,被称为黑车。而很多人想要约车,但是无奈出租车太少,不方便。私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的。一个想要,一个愿意给,就是缺少引子,缺乏管理啊。
此时滴滴这样的网约车平台出现了,所有想载客的私家车全部到滴滴注册,记录你的车型(服务类型),身份信息(联系方式)。这样提供服务的私家车,在滴滴那里都能找到,一目了然。
此时要叫车的人,只需要打开APP,输入你的目的地,选择车型(服务类型),滴滴自动安排一个符合需求的车到你面前,为你服务,完美!
总结:网约车平台解决了客户与出租车之间的关系,为双方提供了服务与管理,那么Java中调用服务者与提供服务者有没有一个类似的平台提供服务与管理呢,答案是肯定的,它叫Eureka。


2 Eureka实现原理
在SpringCloud中,Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。
同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。
这就实现了服务的自动注册、发现、状态监控。


3 Eureka原理图

解释如下:
1.Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址
2.提供者:启动后向Eureka注册自己信息(地址,提供什么服务)
3.消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新
4. 心跳:提供者定期通过http方式向Eureka刷新自己的状态











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2