微服務—Eureka注冊中心

? ? ? ?eureka相當于是一個公司的管理人事HR,各部門之間如果有合作時,由HR進行人員的分配以及調度,具體選哪個人,全憑HR的心情,如果你這個部門存在沒有意義,直接把你這個部門撤銷,全體人員裁掉,所以不想被裁員,只能每天拼命的工作,做一個累死累活的打工人

eureka的作用

  • 消費者如何獲取服務者提供的具體信息?
  1. 服務提供者啟動時間向euraka注冊自己的信息
  2. euraka對這些信息進行存儲
  3. 消費者根據服務名稱向eureka拉取提供者信息
  • 如果有多個服務提供者,消費者該如何選擇?
  1. 服務提供者利用負載均算法,從服務列表中挑選一個服務進行服務
  • 消費者如何感知服務提供者的健康狀態?
  1. 服務提供者會每隔30秒向EurekaServer發送心跳請求,報告健康狀態
  2. eureka會更新記錄到服務列表信息,心跳不正常會被直接剔除
  3. 消費者就可以拉取到最新的信息

如何成功的搭建一個EurekaServer服務呢?這也是比較關心的話題?

搭建EurekaServer

  • 創建項目,引入spring-cloud-starter-netflix-eureka-server的依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
  • 編寫啟動類,添加@EnableEurekaServer(創建一個新的服務,用于啟動Eureka服務)
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
}
  • 添加application.yml文件,編寫下面配置:
server:port:10086
spring:application:name: eurekaserver
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/

? ? ? ?eureka的搭建已經完成,可是我們還需給其他服務添加相關的依賴以及配置,不然它們怎么知道eureka是誰?

注冊A服務

  1. 在A服務的項目中在pom.xml文件中引入相關的依賴
           <!--eureka客戶端依賴--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
  2. 在A服務的yml文件中編寫相關的配置
spring:application:name: orderserviceeureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka

B服務也要完成上面的相關配置,具體步驟和上面一致

在A服務進行拉取

? ? ? ?服務拉取是基于服務名稱獲取服務列表,然后對服務列表做負載均衡(根據一定的算法策略選擇對應的服務)

  1. 修改A服務中的service層的代碼,修改訪問的url路徑,用服務名代替ip、端口
     String url = "http://userservice/user/" + order.getUserId();
  2. 在A服務項目的啟動類中的restTemplate上添加負載均衡注解
        @Bean@LoadBalanced//負載均衡的注解public RestTemplate restTemplate() {return new RestTemplate();}

?總結

1.搭建EurekaServer

  • 引入eureka-server依賴
  • 添加@EnableEurekaServer注解
  • 在application.yml中配置eureka地址

2.服務注冊

  • 引入eureka-client依賴
  • 在application.yml中配置eureka地址

3.服務發現

  • 引入eureka-client依賴
  • 在application.yml中配置eureka地址
  • 給RestTemplate添加@LoadBalanced注解
  • 用服務提供者的服務名稱遠程調用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42003.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42003.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42003.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡筆記

TCP有連接可靠服務 TCP特點&#xff1a; 1.TCP是面向連接的傳輸層協議&#xff1b; 2.每條TCP連接只能有兩個端點&#xff0c;每條TCP連接是一對一的&#xff1b; 3.TCP提供可靠交付&#xff0c;保證傳送數據無差錯&#xff0c;不丟失&#xff0c;不重復且有序&#xff1b; 4.…

Android Studio瀑布流實現

效果&#xff1a; ImageDetail class package com.example.waterfallflow; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.ImageView;public class ImageDetail extends Activity{Overrideprotected void …

DNNGP、DeepGS 和 DLGWAS模型構成對比

一、DNNGP DNNGP 是基于深度卷積神經網絡&#xff0c;這個結構包括一個輸入層&#xff0c;三個卷積層&#xff0c;一個批標準化層&#xff0c;兩個dropout層&#xff0c;一個平坦化層&#xff0c;一個 dense層。 dropout層&#xff1a;在神經網絡中,dropout層是一個非常有效的正…

信息與通信工程面試準備——數學知識|正態分布|中心極限定理

目錄 正態分布 正態分布的參數 正態分布的第一個參數是均值 正態分布的第二個參數是標準差SD 所有正態分布的共同特征 標準正態分布&#xff1a;正態分布的特例 中心極限定理 理解定義 示例# 1 示例# 2 知道樣本均值總是正態分布的實際含義是什么&#xff1f; 正態分…

Scala 如何調試隱式轉換--隱式轉換代碼的顯示展示

方法1 在需要隱式轉換的地方&#xff0c;把需要的參數顯示的寫出。 略方法2&#xff0c;查看編譯代碼 在terminal中 利用 scalac -Xprint:typer xxx.scala方法打印添加了隱式值的代碼示例。 對于復雜的工程來說&#xff0c;直接跑到terminal執行 scalac -Xprint:typer xxx.…

JVM——類文件結構

文章目錄 一 概述二 Class 文件結構總結2.1 魔數2.2 Class 文件版本2.3 常量池2.4 訪問標志2.5 當前類索引,父類索引與接口索引集合2.6 字段表集合2.7 方法表集合2.8 屬性表集合 一 概述 在 Java 中&#xff0c;JVM 可以理解的代碼就叫做字節碼&#xff08;即擴展名為 .class …

winform 封裝unity web player 用戶控件

環境&#xff1a; VS2015Unity 5.3.6f1 (64-bit) 目的&#xff1a; Unity官方提供的UnityWebPlayer控件在嵌入Winform時要求讀取的.unity3d文件路徑&#xff08;Src&#xff09;必須是絕對路徑&#xff0c;如果移動代碼到另一臺電腦&#xff0c;需要重新修改src。于是考慮使…

elementUI 的上傳組件<el-upload>,自定義上傳按鈕樣式

方法一&#xff1a; 原理&#xff1a;調用<el-upload>組件的方法喚起選擇文件事件 效果&#xff1a; 頁面代碼&#xff1a; 1、選擇圖片按鈕 <div class"flex_row_spacebetween btn" click"chooseImg"><span class"el-icon-plus ic…

matlab機器人工具箱基礎使用

資料&#xff1a;https://blog.csdn.net/huangjunsheng123/article/details/110630665 用vscode直接看工具箱api代碼比較方便&#xff0c;代碼說明很多 一、模型設置 1、基礎效果 %采用機器人工具箱進行正逆運動學驗證 a[0,-0.3,-0.3,0,0,0];%DH參數 d[0.05,0,0,0.06,0.05,…

教育行業軟文怎么寫,媒介盒子無償分享

隨著產業升級和技術變革、信息的智能化、數字化發展&#xff0c;也為教育行業帶來了新的增長點&#xff0c;在線教育課程類型豐富多元&#xff0c;新課程不斷涌現。在激烈的市場競爭環境下&#xff0c;教育機構如何根據市場實行差異化戰略并加強自身品牌建成為挑戰。 如今&…

微服務-Ribbon(負載均衡)

負載均衡的面對多個相同的服務的時候&#xff0c;我們選擇一定的策略去選擇一個服務進行 負載均衡流程 Ribbon結構組成 負載均衡策略 RoundRobinRule&#xff1a;簡單的輪詢服務列表來選擇服務器AvailabilityFilteringRule 對兩種情況服務器進行忽略&#xff1a; 1.在默認情…

Php“牽手”拼多多商品詳情頁數據采集方法,拼多多API接口申請指南

拼多多詳情接口 API 是開放平臺提供的一種 API 接口&#xff0c;它可以幫助開發者獲取商品的詳細信息&#xff0c;包括商品的標題、描述、圖片等信息。在電商平臺的開發中&#xff0c;詳情接口API是非常常用的 API&#xff0c;因此本文將詳細介紹詳情接口 API 的使用。 一、拼…

315官方點贊!多燕瘦或將成酵素選購唯一標準

食用酵素及其衍生產品&#xff0c;是近年來國內主流電商平臺的主要增長類目之一。在全球范圍內&#xff0c;酵素的流行由來已久&#xff0c;其中在日本、北美、歐洲等發達國家和地區尤為風靡。據不完全統計&#xff1a;歐洲酵素市場規模約占全球酵素市場份額的40%以上&#xff…

【Linux】一切皆文件

Linux 下一切皆為文件&#xff0c; 文件包括頭文件&#xff0c;庫文件&#xff08;靜態庫和共享庫&#xff09;&#xff0c;可執行文件&#xff0c;目錄文件&#xff0c;軟鏈接文件&#xff0c;配置文件等。 每個文件都依據權限分為用戶、用戶組和其他人三個身份&#xff0c;…

webpack相關面試

運行 npm run xxx 的時候發生了什么&#xff1f; npm run xxx的時候&#xff0c;首先會去項目的package.json文件里找scripts 里找對應的xxx&#xff0c;然后執行 xxx的命令 npm i 的時候&#xff0c;npm 讀到該配置后&#xff0c;就將該文件軟鏈接到 ./node_modules/.bin 目錄…

vscode conda activate激活環境出錯

vscode conda activate 出錯 conda-script.py: error: argument COMMAND: invalid choice: ‘activate’ To initialize your shell, run$ conda init <SHELL_NAME>Currently supported shells are:- bash- fish- tcsh- xonsh- zsh- powershellSee conda init --help f…

自定義Android滑塊拼圖驗證控件

自定義Android滑塊拼圖驗證控件 拼圖認證視圖默認策略工具類參考 1、繼承自AppCompatImageView&#xff0c;兼容ImageView的scaleType設置&#xff0c;可設置離線/在線圖片。 2、通過設置滑塊模型&#xff08;透明背景的圖形塊&#xff09;設置滑塊&#xff08;和缺省塊&#x…

【HarmonyOS北向開發】-01 HarmonyOS概述

飛書原文鏈接-【HarmonyOS北向開發】-01 HarmonyOS概述https://fvcs2dhq8qs.feishu.cn/docx/TDf2d2KMaoPSUUxnvg2cASDdnCe?fromfrom_copylink

Leetcode-每日一題【劍指 Offer 20. 表示數值的字符串】

題目 請實現一個函數用來判斷字符串是否表示數值&#xff08;包括整數和小數&#xff09;。 數值&#xff08;按順序&#xff09;可以分成以下幾個部分&#xff1a; 若干空格一個 小數 或者 整數&#xff08;可選&#xff09;一個 e 或 E &#xff0c;后面跟著一個 整數若干空…

xcode把包打到高版本的iPhone里

打開xcode CTRLb build工程&#xff0c;build成功 把手機連到mac&#xff0c;在xcode選項卡里面的window里面選中device and simulator 打開對應的手機的頁面 然后在工程目錄下build成功過后有一個product的文件夾里面&#xff0c;直接把app拖到對應的手機的窗口就可以不用…