Eureka 服務(wù)管理
Eureka是Netflix開發(fā)的服務(wù)發(fā)現(xiàn)框架,本身是一個(gè)基于REST的服務(wù),主要用于定位運(yùn)行在AWS域中的中間層服務(wù),以達(dá)到負(fù)載均衡和中間層服務(wù)故障轉(zhuǎn)移的目的。
SpringCloud將它集成在其子項(xiàng)目spring-cloud-netflix中,以實(shí)現(xiàn)SpringCloud的服務(wù)發(fā)現(xiàn)功能
Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)
Eureka 采用了CS的設(shè)計(jì)架構(gòu),Eureka Server作為服務(wù)注冊(cè)功能的服務(wù)器,它是服務(wù)注冊(cè)的中心。而系統(tǒng)中的其他微服務(wù),使用 Eureka 的客戶端鏈接到
Eureka server并維持心跳連接。使開發(fā)人員可以通過Eureka serve來監(jiān)控系統(tǒng)中各個(gè)微服務(wù)的運(yùn)行狀態(tài).
在服務(wù)注冊(cè)與發(fā)現(xiàn)中,有一個(gè)注冊(cè)中心。當(dāng)服務(wù)啟動(dòng)的時(shí)候,會(huì)把當(dāng)前自己的服務(wù)器的信息,比如 服務(wù)地址、通訊地址等以別名方式注冊(cè)到注冊(cè)中心。另一方
(消費(fèi)者|服務(wù)提供者),以該別名的方式去注冊(cè)中心上獲取到實(shí)際的服務(wù)通訊地址,然后再實(shí)現(xiàn)本地RPC調(diào)用遠(yuǎn)程RPC。遠(yuǎn)程調(diào)用框架的核心設(shè)計(jì)思想:在于注冊(cè)中心
,因?yàn)槭褂米?cè)中心管理每個(gè)服務(wù)于服務(wù)之間的一個(gè)依賴關(guān)系(服務(wù)治理概念)。在任何RPC遠(yuǎn)程框架中,都會(huì)有一個(gè)注冊(cè)中心(存放服務(wù)地址相關(guān)信息)
Eureka 三種角色
- Eureka Server :提供服務(wù)注冊(cè)和發(fā)現(xiàn)等
- Service Provider:服務(wù)提供者:自身注冊(cè)到Eureka Server,供消費(fèi)端調(diào)用
- Service Consumer:服務(wù)消費(fèi)方:從Eureka獲取注冊(cè)服務(wù)列表,從而能夠消費(fèi)服務(wù)
ureka Server搭建
在父工程中創(chuàng)建module ‘server7001’ 引入 spring-cloud ureka 依賴文章來源:http://www.zghlxwxcb.cn/news/detail-537487.html
<dependencies>
<!-- eureka server依賴包 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
配置文件文章來源地址http://www.zghlxwxcb.cn/news/detail-537487.html
server:
port: 7001
eureka:
instance:
# eureka 服務(wù)端的實(shí)例名稱
hostname: localhost
client:
# 表示是否將自己注冊(cè)到Eureka Server,默認(rèn)為true。
register-with-eureka: false
# 表示是否從Eureka Server獲取注冊(cè)信息,默認(rèn)為true。
fetch-registry: false
service-url:
# 設(shè)置與Eureka Server交互的地址
defaultZone: http://${
eureka.instance.hostname}:${
server.port
到了這里,關(guān)于微服務(wù) - Spring Cloud - Eureka Server單機(jī)和集群搭建、單機(jī)服務(wù)注冊(cè)和集群服務(wù)注冊(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!