咪免直播高品质美女在线视频互动社区_咪免直播官方版_咪免直播直播视频在线观看免费版下载

您的位置:首頁(yè) > 軟件教程 > 教程 > 服務(wù)的提供者和消費(fèi)者及Eureka注冊(cè)中心

服務(wù)的提供者和消費(fèi)者及Eureka注冊(cè)中心

來(lái)源:好特整理 | 時(shí)間:2024-05-03 18:46:24 | 閱讀:158 |  標(biāo)簽: T 注冊(cè) T3 Eureka Ri K S C in 開發(fā) 服務(wù) 新版 消費(fèi)者   | 分享到:

服務(wù)的提供者和消費(fèi)者 服務(wù)之間可以通過(guò)Spring提供的RestTemplate來(lái)進(jìn)行http請(qǐng)求去請(qǐng)求另一個(gè)Springboot的項(xiàng)目,這就叫做服務(wù)間的遠(yuǎn)程調(diào)用。 當(dāng)一個(gè)服務(wù)通過(guò)遠(yuǎn)程調(diào)用去調(diào)用另一個(gè)服務(wù)時(shí),被調(diào)用的服務(wù)就叫做服務(wù)的提供者,調(diào)用服務(wù)的服務(wù)就叫做服務(wù)的消費(fèi)者。 一個(gè)服務(wù)可以既是服務(wù)的提

服務(wù)之間可以通過(guò)Spring提供的RestTemplate來(lái)進(jìn)行http請(qǐng)求去請(qǐng)求另一個(gè)Springboot的項(xiàng)目,這就叫做服務(wù)間的遠(yuǎn)程調(diào)用。當(dāng)一個(gè)服務(wù)通過(guò)遠(yuǎn)程調(diào)用去調(diào)用另一個(gè)服務(wù)時(shí),被調(diào)用的服務(wù)就叫做服務(wù)的提供者,調(diào)用服務(wù)的服務(wù)就叫做服務(wù)的消費(fèi)者。一個(gè)服務(wù)可以既是服務(wù)的提供者也是服務(wù)的消費(fèi)者。

服務(wù)調(diào)用關(guān)系:

  • 服務(wù)提供者: 暴露接口給其它微服務(wù)調(diào)用
  • 服務(wù)消費(fèi)者: 調(diào)用其它微服務(wù)提供的接口
  • 提供者和消費(fèi)者的角色其實(shí)是相對(duì)的

Eureka注冊(cè)中心

  • 遠(yuǎn)程調(diào)用的問(wèn)題

  • eureka原理

  • 搭建eurekaServer

  • 服務(wù)注冊(cè)

  • 服務(wù)發(fā)現(xiàn)

eureka的作用:

  • 消費(fèi)者該如何獲取服務(wù)提供者的具體信息
    1. 服務(wù)提供者啟動(dòng)時(shí)向eureka注冊(cè)自己的信息
    2. eureka保存這些信息
    3. 消費(fèi)者根據(jù)服務(wù)名稱向eureka拉取提供者信息
  • 如果有多個(gè)服務(wù)提供者,消費(fèi)者該如何選擇
    1. 服務(wù)消費(fèi)者利用負(fù)載均衡算法,從服務(wù)列表中挑選一個(gè)
  • 消費(fèi)者如何感知服務(wù)提供者健康狀態(tài)
    1. 服務(wù)提供者會(huì)每隔30s向EurekaServer發(fā)送心跳請(qǐng)求,報(bào)告健康狀態(tài)
    2. eureka會(huì)更新記錄服務(wù)列表信息,心跳不正常會(huì)被剔除
    3. 消費(fèi)者就可以拉取到最新的信息

在eureka架構(gòu)中,微服務(wù)角色有兩類:

  • EurekaServer:服務(wù)端、注冊(cè)中心
    1. 記錄服務(wù)信息
    2. 心跳監(jiān)控
  • EurekaClient:客戶端
    1. provider:服務(wù)提供者
      1. 注冊(cè)自己的信息到EurekaServer中
      2. 每隔30S向EurekaServer發(fā)送心跳
    2. consumer:服務(wù)消費(fèi)者
      1. 根據(jù)服務(wù)名稱從EurekaServer拉取服務(wù)列表
      2. 基于服務(wù)列表做負(fù)載均衡,選中一個(gè)微服務(wù)后發(fā)起遠(yuǎn)程調(diào)用

EurekaServer服務(wù)注冊(cè)

  • 創(chuàng)建eureka服務(wù)端

父工程引入對(duì)應(yīng)版本的springcloud依賴

springboot 3.1.5對(duì)應(yīng)


    org.springframework.cloud
    spring-cloud-dependencies
    2022.0.4
    pom
    import

引入eureka服務(wù)端依賴


    
        org.springframework.cloud
        spring-cloud-starter-netflix-eureka-server
    

啟動(dòng)eureka服務(wù),在啟動(dòng)類上添加@EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}

配置文件中配置服務(wù)名稱-地址-服務(wù)端口

spring:
  application:
    name: eureka-server #微服務(wù)名稱
server:
  port: 10086 #服務(wù)端口
eureka:
  client:
    service-url: #eureka地址信息 eureka自己也是一個(gè)微服務(wù),也會(huì)被注冊(cè)到eureka中 為了做eureka集群
      defaultZone: http://127.0.0.1:10086/eureka

eureka服務(wù)端自己也會(huì)被注冊(cè)到eureka服務(wù)中

然后就可以訪問(wèn)http://127.0.0.1:10086進(jìn)入eureka注冊(cè)中心了

  • 服務(wù)注冊(cè)

確保父工程成功引入cloud依賴后引入eureka服務(wù)端依賴


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-client


在配置文件中配置eureka服務(wù)名稱和地址即可

server:
  port: 8081
spring:
  application:
    name: cloud-user
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  • 服務(wù)發(fā)現(xiàn)

引入依賴


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-client


配置地址

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka

給RestTemplate添加上@LoadBalanced注解,實(shí)現(xiàn)同一服務(wù)多個(gè)地址的負(fù)載均衡調(diào)用

//RestTemplate spring提供的遠(yuǎn)程調(diào)用模塊 允許發(fā)送http請(qǐng)求
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
    return new RestTemplate();
}

使用RestTemplate不通過(guò)具體的ip地址而是通過(guò)服務(wù)名稱遠(yuǎn)程調(diào)用實(shí)現(xiàn)查詢

@Autowired
RestTemplate restTemplate;
@GetMapping("/order/all/{id}")
public ordersUser getAllById(@PathVariable("id") Integer id){
    String str1 = "http://cloud-order/order/"+id;
    orders od = restTemplate.getForObject(str1, orders.class);
    String str = "http://cloud-user/user/"+od.getOrderuserid();
    user forObject = restTemplate.getForObject(str, user.class);
    ordersUser ordersUser = new ordersUser();

    ordersUser.setOrderid(od.getOrderid());
    ordersUser.setUser(forObject);
    ordersUser.setOrdername(od.getOrdername());
    ordersUser.setOrderaddress(od.getOrderaddress());
    ordersUser.setOrderprice(od.getOrderprice());
    ordersUser.setOrdernumber(od.getOrdernumber());

    return ordersUser;
}
小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

t3 1.24.823769
t3 1.24.823769
類型:飛行射擊  運(yùn)營(yíng)狀態(tài):正式運(yùn)營(yíng)  語(yǔ)言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

T3安卓版是一款快節(jié)奏、易上手的3V3多英雄射擊游戲。游戲?qū)⑼婕規(guī)胍粋(gè)充滿未來(lái)科技感的戰(zhàn)場(chǎng),玩家可以
RPG Ri序章 0.2.1
RPG Ri序章 0.2.1
類型:角色扮演  運(yùn)營(yíng)狀態(tài):正式運(yùn)營(yíng)  語(yǔ)言: 日文  

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

《RPG_Ri序章》是GameMaker'Child-Dream'制作的一款幻想廢土風(fēng)RPG手游,完全免費(fèi)的幻想廢土風(fēng)RPG登場(chǎng)!元

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)