国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon

這篇具有很好參考價值的文章主要介紹了基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 7 Eureka注冊中心

1.7.1 遠(yuǎn)程調(diào)用的問題

  1. 地址信息獲取服務(wù)消費者如何獲取服務(wù)提供者地址信息(不能每次都寫死): URL:http://localhost:8081/user/"+order.getUserId()
  2. 多選一:如果有多個服務(wù)提供者,消費者如何進行選擇
  3. 監(jiān)測健康狀態(tài):消費者如何獲知提供者的健康狀態(tài)

1.7.2 eureka原理

  1. 地址信息獲?。?br> 1)服務(wù)提供者啟動時,向Eureka注冊自己的信息
    2)Eureka保存這些信息
    3)消費者根據(jù)服務(wù)名向Erueka拉去提供者信息

  2. 多選一:
    1)使用負(fù)載均衡技術(shù),從多個服務(wù)列表中,選擇一個

  3. 監(jiān)測健康狀態(tài)
    1)服務(wù)提供者每隔30s會向Eureka發(fā)送自己的心跳數(shù)據(jù),即是否正常工作
    2)如果不工作了會從保存的服務(wù)列表中剔除
    3)消費者根據(jù)最新的服務(wù)列表能夠或者服務(wù)者健康狀況
    基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon,微服務(wù)知識學(xué)習(xí),eureka,spring cloud,微服務(wù)

1.7.3 搭建EurekaServer

1)創(chuàng)建項目:引入spring-cloud-starter-netflix-eureka-server的依賴

//服務(wù)端依賴
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2)編寫啟動類,添加@EnableEurekaServer注解

@EnableEurekaServer     //自動裝配Eureka注解
@SpringBootApplication  //SpringBoot啟動類注解
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

3)添加application.yml文件,并編寫如下配置

server:
  port: 10086  #注冊的端口

spring:
  application:
    name: eurekaserver  #服務(wù)注冊名字
eureka:
  client:
    service-url:  #服務(wù)注冊訪問地址
    defaultZone: http://127.0.0.1:10086/eureka/

1.7.4 服務(wù)注冊:注冊user-service

  1. 引入依賴:在user-service項目引入spring-cloud-starter-netflix-eureka-client的依賴
//客戶端依賴
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>  
</dependency>
  1. 添加配置:在application.yml文件,編寫下面的配置
spring:
  application:
	name: userservice
eureka:
  client:
	service-url:
	  defaultZone: http://127.0.0.1:10086/eureka/
  1. 多服務(wù)注冊(同一個服務(wù),但是多端口,模擬多服務(wù)架構(gòu))
    1)如果直接復(fù)制一個服務(wù),會發(fā)生沖突,故需要更改下VM選項:-Dserver.port=8082
基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon,微服務(wù)知識學(xué)習(xí),eureka,spring cloud,微服務(wù)

1.7.4 服務(wù)注冊:注冊order-service

order-service雖然是消費者,但與user-service一樣都是eureka的client端,同樣可以實現(xiàn)服務(wù)注冊:

  1. 引入依賴:在order-service項目引入spring-cloud-starter-netflix-eureka-client的依賴
//客戶端依賴
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>  
</dependency>
  1. 添加配置:在application.yml文件,編寫下面的配置
spring:
  application:
	name: orderservice
eureka:
  client:
	service-url:
	  defaultZone: http://127.0.0.1:10086/eureka/

1.7.6 order-service完成服務(wù)拉?。軌蜃灾x擇服務(wù))

服務(wù)拉取是基于服務(wù)名稱獲取服務(wù)列表,然后在對服務(wù)列表做負(fù)載均衡

  1. 修改orderService中的代碼,變更url路徑
String url = "http://userservice/user/" + order.getUserId();
  1. 在orderService啟動類中,添加的resttemplate遠(yuǎn)程調(diào)用上添加負(fù)載均衡注解;主要為了標(biāo)記該調(diào)用發(fā)起的請求會被ribbon攔截并操作
@Bean
@LoadBalanced
public RestTemplate restTemplate() {    
	return new RestTemplate();
}

1.7.7 總結(jié)

基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon,微服務(wù)知識學(xué)習(xí),eureka,spring cloud,微服務(wù) ## 1.8 Ribbon 在需要攔截的啟動類上面添加注解:@LoadBalanced ### 1.8.1 負(fù)載均衡原理 基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon,微服務(wù)知識學(xué)習(xí),eureka,spring cloud,微服務(wù)

1)order-serice發(fā)起請求:http://userservice/use/1
2)獲取url中服務(wù)的id(userservice)
3)在Eureka中拉去userservice
4)返回服務(wù)列表(8081/8082)
5)服務(wù)負(fù)載均衡策略:IRule
6)選擇某個服務(wù):8081
7)修改原來的url,發(fā)起請求
8)請求服務(wù)8081

1.8.2 負(fù)載均衡策略

基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon,微服務(wù)知識學(xué)習(xí),eureka,spring cloud,微服務(wù) 1)RoundRobinRule:簡單輪詢 2)ZoneAviodanceRule:使用Zone對服務(wù)器分配類,在做輪詢 3)RandomRule:隨機選擇服務(wù)器 ### 1.8.3 負(fù)載均衡配置 總共有兩種方式:代碼方式和更改配置文件方式
  1. 代碼方式:在order-service中的OrderApplication類中,定義一個新的IRule:
@Bean
public IRulerandomRule(){
    return new RandomRule();
    }
  1. 配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改規(guī)則:
userservice:  
	ribbon:    
		NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule#負(fù)載均衡規(guī)則

1.8.4 饑餓加載

Ribbon默認(rèn)是采用懶加載,即第一次訪問時才會去創(chuàng)建LoadBalanceClient,請求時間會很長。
而饑餓加載則會在項目啟動時創(chuàng)建,降低第一次訪問的耗時,通過下面配置開啟饑餓加載:

ribbon:  
	eager-load:    
		enabled: true # 開啟饑餓加載    
		clients:userservice # 指定對userservice這個服務(wù)饑餓加載

1.8.5 總結(jié)

  1. Ribbon負(fù)載均衡規(guī)則
    1)規(guī)則接口是IRule
    2)默認(rèn)實現(xiàn)是ZoneAvoidanceRule,根據(jù)zone選擇服務(wù)列表,然后輪詢
  2. 負(fù)載均衡自定義方式
    1)代碼方式:配置靈活,但修改時需要重新打包發(fā)布
    2)配置方式:直觀,方便,無需重新打包發(fā)布,但是無法做全局配置
  3. 饑餓加載
    1)開啟饑餓加載
    2)指定饑餓加載的微服務(wù)名稱

參考文獻
1)黑馬程序員SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系統(tǒng)詳解springcloud微服務(wù)技術(shù)棧課文章來源地址http://www.zghlxwxcb.cn/news/detail-641408.html

到了這里,關(guān)于基于SpringCloud的微服務(wù)架構(gòu)學(xué)習(xí)筆記(2)注冊中心Eureka和負(fù)載均衡Ribbon的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SpringCloud(一) 服務(wù)架構(gòu)的演變及注冊RestTemplate實現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用

    SpringCloud(一) 服務(wù)架構(gòu)的演變及注冊RestTemplate實現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用

    目錄 一, 服務(wù)架構(gòu)的演變 1.1 單體架構(gòu) 1.2 分布式架構(gòu) 1.3 微服務(wù) 1.4 SpringCloud 二, 服務(wù)拆分和遠(yuǎn)程調(diào)用 2,1 服務(wù)拆分原則 2.2 服務(wù)拆分示例 2.3 創(chuàng)建相應(yīng)數(shù)據(jù)庫 ?2.4 實現(xiàn)遠(yuǎn)程調(diào)用示例 1, 更改需求 2, 注冊RestTemplate實現(xiàn)遠(yuǎn)程調(diào)用 ?2.5 服務(wù)消費者和提供者 將業(yè)務(wù)的所有功能集中在一

    2024年02月08日
    瀏覽(31)
  • ??分享一個基于SpringCloud的微服務(wù)項目【源碼+視頻教程】【保姆式教程】【建議收藏】??

    ??分享一個基于SpringCloud的微服務(wù)項目【源碼+視頻教程】【保姆式教程】【建議收藏】??

    前面已經(jīng)分享了很多不錯的項目,有ssm的、springboot的,為了幫助大家的學(xué)習(xí),還出了詳細(xì)的視頻教程! 當(dāng)然我會不斷的更新各種干貨!沒關(guān)注猛哥的,關(guān)注一波。防止錯失干貨! 1,基于springboot的醫(yī)藥管理系統(tǒng) 2,基于springboot+vue的校園招聘系統(tǒng) 3,基于ssm+小程序的物業(yè)管理

    2023年04月09日
    瀏覽(32)
  • Springcloud筆記(2)-Eureka服務(wù)注冊中心

    Springcloud筆記(2)-Eureka服務(wù)注冊中心

    Eureka作為一個微服務(wù)的治理中心,它是一個服務(wù)應(yīng)用,可以接收其他服務(wù)的注冊,也可以發(fā)現(xiàn)和治理服務(wù)實例。 服務(wù)治理中心是微服務(wù)(分布式)架構(gòu)中最基礎(chǔ)和最核心的功能組件,它主要對各個服務(wù)實例進行管理,包括 服務(wù)注冊和服務(wù)發(fā)現(xiàn) 等 本文參考:springcloud教程 --

    2024年02月05日
    瀏覽(57)
  • 微服務(wù)學(xué)習(xí)-SpringCloud -Nacos (服務(wù)注冊源碼學(xué)習(xí))

    微服務(wù)學(xué)習(xí)-SpringCloud -Nacos (服務(wù)注冊源碼學(xué)習(xí))

    此次源碼版本為1.4.1,2.x版本在服務(wù)請求時使用了grpc的方式,所以先以1.4.1版本學(xué)習(xí),后續(xù)再看2.x版本。 源碼下載地址:: link 打開頁面后,下拉到最下面,下載nacos-1.4.1.zip,解壓導(dǎo)入idea即可。 此圖主要是對核心注冊流程進行了大概梳理,可以在后續(xù)詳細(xì)看源碼時配合互補。

    2023年04月09日
    瀏覽(33)
  • SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊中心

    SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊中心

    基于Spring Cloud實現(xiàn)服務(wù)的發(fā)布與調(diào)用。而在18年7月份,Eureka2.0宣布停更了,將不再進行開發(fā),所以對于公司技術(shù)選型來說,可能會換用其他方案做注冊中心。本章學(xué)習(xí)便是使用ZooKeeper作為注冊中心。 本章使用的zookeeper版本是 3.6.0 項目架構(gòu)圖如下: 1、新建一個maven項目(tes

    2024年02月11日
    瀏覽(21)
  • SpringCloud學(xué)習(xí)筆記(二)_Eureka注冊中心

    SpringCloud學(xué)習(xí)筆記(二)_Eureka注冊中心

    一、Eureka簡介 Eureka是一項基于REST(代表性狀態(tài)轉(zhuǎn)移)的服務(wù),主要在AWS云中用于定位服務(wù),以實現(xiàn)負(fù)載均衡和中間層服務(wù)器的故障轉(zhuǎn)移。我們稱此服務(wù)為Eureka Server。Eureka還帶有一個基于Java的客戶端組件Eureka Client,它使與服務(wù)的交互更加容易??蛻舳诉€具有一個內(nèi)置的負(fù)載

    2024年02月11日
    瀏覽(18)
  • SpringCloud學(xué)習(xí)筆記(五)_Consul注冊中心

    SpringCloud學(xué)習(xí)筆記(五)_Consul注冊中心

    本章使用的Consul版本是 1.7.2 項目架構(gòu)圖如下: 1、新建一個maven項目(test-springcloud-provider-payment8006) 結(jié)構(gòu)如下: 2、引入依賴,編輯pom文件 完整pom.xml文件如下: pom.xml 3、編輯配置文件application.yml 4、編寫主啟動類 5、編寫Controller 6、啟動項目,測試項目 1)啟動Consul服務(wù),使

    2024年02月11日
    瀏覽(18)
  • 構(gòu)建彈性可擴展的微服務(wù)架構(gòu):基于Spring Cloud Alibaba 的實踐

    構(gòu)建彈性可擴展的微服務(wù)架構(gòu):基于Spring Cloud Alibaba 的實踐

    ?? 個人網(wǎng)站:【工具大全】【游戲大全】【神級源碼資源網(wǎng)】 ?? 前端學(xué)習(xí)課程:??【28個案例趣學(xué)前端】【400個JS面試題】 ?? 尋找學(xué)習(xí)交流、摸魚劃水的小伙伴,請點擊【摸魚學(xué)習(xí)交流群】 隨著互聯(lián)網(wǎng)業(yè)務(wù)的不斷發(fā)展,傳統(tǒng)的單體應(yīng)用逐漸無法滿足日益復(fù)雜的業(yè)務(wù)需求和

    2024年02月14日
    瀏覽(1877)
  • 【服務(wù)治理①】軟件架構(gòu)服務(wù)治理的本質(zhì),當(dāng)下最火的微服務(wù)到底是什么?利用AIGC學(xué)習(xí)微服務(wù)的第①彈

    【服務(wù)治理①】軟件架構(gòu)服務(wù)治理的本質(zhì),當(dāng)下最火的微服務(wù)到底是什么?利用AIGC學(xué)習(xí)微服務(wù)的第①彈

    治理講究戰(zhàn)術(shù),自頂向下治理的方式、綜合統(tǒng)籌的治理、分而治之的思想。服務(wù)治理就是治理服務(wù)(來自電源《年會不能停》解釋名詞的方法 ??),屬于過程管理,即從服務(wù)的啟動到服務(wù)的進行再到服務(wù)的終止期間發(fā)生的全生命周期的數(shù)據(jù)治理、規(guī)則管理、數(shù)據(jù)監(jiān)控、安全

    2024年04月17日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包