服務注冊/服務發現-Eureka

目的:解決微服務在調用遠程服務時URL寫死的問題

注冊中心

服務提供者(Server):一次業務中,被其他微服務調用的服務,也就是提供接口給其他微服務。

服務消費者(Client):一次業務中,調用其他微服務的服務,也就是調用其他微服務提供的接口

服務注冊中心(Register):用于保存Server的注冊信息,當Server節點發生變更時,Register會同步變更,服務與注冊中心使用一定機制通信,如果注冊中心與某服務長時間無法通信,就會注銷該實例。

關系:

服務注冊:服務提供者在啟動時,想Register注冊自身服務,并向Register定期發送心跳匯報存活狀態

服務發現:服務消費者從注冊中心查詢服務提供者的地址,并通過該地址調用服務提供者的接口,服務發現的一個重要作用就是提供給服務消費者一個可用的服務列表

CAP理論

一致性(Consistency):CAP理論中的一致性,值的是強一致性,所有節點在同一時間具有相同的數據

可用性(Availability):保證每一個請求都有響應(結果不保證)

分區容錯性(Partition Tolerance) :當出現網絡分區后,系統任然能夠對外提供服務

分布式系統中, 系統間的?絡不能100%保證健康, 服務?必須對外保證服務. 因此Partition
Tolerance不可避免. 那就只能在C和A中選擇?個. 也就是CP或者AP架構

Eureka

Eureka是Netflix開發的基于REST的服務發現框架, 主要?于服務注冊, 管理,負載均衡和服務故障轉移. 官?聲明在Eureka2.0版本停?維護, 不建議使?. 但是Eureka是SpringCloud服務注冊/發現的默認實現, 所以?前還是有很多公司在使?

搭建EurekaServer:

引入依賴:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
server:port: 10010
spring:application:name: eureka-server
eureka:instance:hostname: localhostclient:fetch-registry: false # 表?是否從Eureka Server獲取注冊信息,默認為true.因為這是
?個單點的Eureka Server,不需要同步其他的Eureka Server節點的數據,這?設置為falseregister-with-eureka: false # 表?是否將??注冊到Eureka Server,默認為true.由于
當前應?就是Eureka Server,故?設置為false.service-url:# 設置與Eureka Server的地址,查詢服務和注冊服務都需要依賴這個地址.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

服務注冊:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
spring:application:name: product-service
eureka:client:service-url:defaultZone: http://127.0.0.1:10010/eureka

遠程調用:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
spring:application:name: product-service
eureka:client:service-url:defaultZone: http://127.0.0.1:10010/eureka

配置RestTemplate對象,用于發起URL遠程調用請求

根據url和返回值的類調用遠程接口

獲取遠程實例,instances[index].getUri()可以獲取IP+端口號

負載均衡

配置負載均衡所需訪問的服務名 configuration配置均衡策略

IP+端口號直接用注冊中心的服務名代替

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

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

相關文章

cuda stream

基本概念 cuda stream表示GPU的一個操作隊列&#xff0c;操作在隊列中按照一定的順序執行&#xff0c;也可以向流中添加一定的操作如核函數的啟動、內存的復制、事件的啟動和結束等 一個流中的不同操作有著嚴格的順序&#xff0c;但是不同流之間沒有任何限制 cuda stream中排隊…

數據結構:完全二叉樹

完全二叉樹 定義&#xff1a; 按層序遍歷&#xff08;從上到下&#xff0c;從左到右&#xff09;填充節點。 除了最后一層外&#xff0c;其余各層必須全滿。 最后一層的節點必須 連續靠左。 完全二叉樹不一定是滿二叉樹。 滿二叉樹 (Full Binary Tree)&#xff1a;每個節點都有…

【Java初學基礎】?Object()頂級父類與它的重要方法equals()

object類常見方法/*** native 方法&#xff0c;用于返回當前運行時對象的 Class 對象&#xff0c;使用了 final 關鍵字修飾&#xff0c;故不允許子類重寫。*/ public final native Class<?> getClass() /*** native 方法&#xff0c;用于返回對象的哈希碼&#xff0c;主…

用深度學習(LSTM)實現時間序列預測:從數據到閉環預測全解析

用深度學習&#xff08;LSTM&#xff09;實現時間序列預測&#xff1a;從數據到閉環預測全解析 時間序列預測是工業、金融、環境等領域的核心需求——小到預測設備溫度波動&#xff0c;大到預測股價走勢&#xff0c;都需要從歷史數據中挖掘時序規律。長短期記憶網絡&#xff08…

gpu-z功能介紹,安裝與使用方法

GPU-Z 功能介紹、安裝與使用方法 一、核心功能 硬件信息檢測 識別顯卡型號、制造商、核心架構&#xff08;如NVIDIA Ada Lovelace、AMD RDNA 3&#xff09;、制造工藝&#xff08;如5nm、7nm&#xff09;。顯示顯存類型&#xff08;GDDR6X、HBM2e&#xff09;、容量、帶寬及顯…

數據搬家后如何處理舊 iPhone

每年&#xff0c;蘋果都會推出新款 iPhone&#xff0c;激發了人們升級到 iPhone 17、iPhone 17 Pro、iPhone 17 Pro Max 或 iPhone Air 等新機型的熱情。但在獲得新 iPhone 之前&#xff0c;有一件重要的事情要做&#xff1a;將數據從舊 iPhone 轉移到新設備。雖然許多用戶都能…

Java關鍵字深度解析(上)

這是一份全面的Java關鍵字實戰指南 目錄 1.數據類型關鍵字:內存布局與性能優化 1.1 基礎類型的內存密碼 byte-內存的極簡主義者 int-Java世界的萬能鑰匙 long - 時間與ID的守護者 1.2 引用類型的架構設計 String-不是關鍵字但勝于關鍵字 2.訪問修飾符:企業級權限控制 …

C語言深度解析:指針數組與數組指針的區別與應用

目錄 1 引言&#xff1a;從名字理解本質區別 2 指針數組&#xff1a;靈活管理多個指針 2.1 基本概念與聲明方式 2.2 內存布局與特性 2.3 典型應用場景&#xff1a;字符串數組與多維度數據管理 2.3.1 靜態分配示例&#xff1a;字符串數組 2.3.2 動態分配示例&#xff1a;…

Node.js 高級應用:負載均衡與流量限制

在當今高并發的網絡應用環境中&#xff0c;如何有效地分配服務器資源并保護系統免受惡意攻擊是開發者必須面對的重要問題。Node.js 作為一款廣受歡迎的服務器端 JavaScript 運行時環境&#xff0c;提供了豐富的工具和模塊來應對這些挑戰。本文將深入探討如何在 Node.js 中實現負…

信任鏈驗證流程

信任鏈驗證流程 (The Chain of Trust)整個過程就像一場嚴格的接力賽&#xff0c;每一棒都必須從可信的上一位手中接過接力棒&#xff08;信任&#xff09;&#xff0c;驗證無誤后&#xff0c;再跑自己的那段路&#xff0c;并把信任傳遞給下一棒現在&#xff0c;我們來詳細解讀圖…

黃昏時刻復古膠片風格人像風光攝影后期Lr調色教程,手機濾鏡PS+Lightroom預設下載!

調色教程這套 黃昏時刻復古膠片風格人像風光攝影后期 Lr 調色方案&#xff0c;以落日余暉為核心色彩元素&#xff0c;加入復古膠片質感&#xff0c;讓畫面充滿溫暖與懷舊氛圍。整體色調偏向橙紅與青綠的互補對比&#xff0c;天空的夕陽光影與人像膚色相互映襯&#xff0c;既有膠…

硬件驅動——I.MX6ULL裸機啟動(3)(按鍵設置及中斷設置

重點&#xff1a;1.GIC&#xff1a;&#xff08;Generic Interrupt Controller&#xff09;通用中斷控制器&#xff0c;是ARM架構中用于管理中斷的核心模塊&#xff0c;主要用于現代多核處理器系統。它負責接收&#xff0c;分發并分發中斷請求&#xff0c;減輕CPU負擔&#x…

用deepseek對GPU服務器進行壓力測試

利用 DeepSeek 模型對 GPU 服務器進行壓力測試&#xff0c;核心思路是通過模擬高負載的模型推理 / 微調任務&#xff0c;驗證 GPU 服務器在計算、顯存、網絡等維度的承載能力&#xff0c;同時觀察穩定性與性能瓶頸。以下是具體的測試方案&#xff0c;涵蓋測試環境準備、核心測試…

ARM(7)IMX6ULL 按鍵控制(輪詢 + 中斷)優化工程

一、硬件介紹1. 開關功能定義共 3 個開關&#xff08;兩紅一黃&#xff09;&#xff0c;功能分工明確&#xff1a;中間開關&#xff1a;復位按鈕左邊開關&#xff1a;低功耗按鈕右邊開關&#xff1a;用戶獨立控制的試驗按鍵&#xff08;核心控制對象&#xff09;2. 核心電平邏輯…

【QT隨筆】什么是Qt元對象系統?Qt元對象系統的核心機制與應用實踐

【QT隨筆】什么是Qt元對象系統&#xff1f;Qt元對象系統的核心機制與應用實踐 之所以寫下這篇文章&#xff0c;是因為前段時間自己面試的時候被問到了&#xff01;因此想借此分享一波&#xff01;&#xff01;&#xff01;本文主要詳細解釋Qt元對象系統的概念、作用及實現機制…

從技術視角解析加密貨幣/虛擬貨幣/穩定幣的設計與演進

隨著加密貨幣行情的持續走高&#xff0c;除了資產價值&#xff0c;我想試著從底層程序設計與架構角度解析比特幣、以太坊、穩定幣以及新興公鏈的核心技術方案。作者在2018年設計實施了基于區塊鏈技術的金融項目&#xff0c;并榮獲了國家課題進步獎&#xff0c;對加密貨幣及場景…

[MySQL]Order By:排序的藝術

[MySQL]Order By&#xff1a;排序的藝術 1. 簡介 在數據庫管理中&#xff0c;數據的排序是一項至關重要的操作。MySQL 的 ORDER BY 子句為我們提供了強大而靈活的功能&#xff0c;用于對查詢結果進行排序。無論是按照字母順序排列名稱&#xff0c;還是根據日期或數值進行升序…

【工具代碼】使用Python截取視頻片段,截取視頻中的音頻,截取音頻片段

目錄 ■截取視頻方法 1.下載 ffmpeg-8.0-essentials_build 2.配置到環境變量 3.python代碼 4.運行 5.效果 ■更多 截取視頻中的音頻 截取音頻 Sony的CR3圖片&#xff0c;轉換為JPG ■截取視頻方法 1.下載 ffmpeg-8.0-essentials_build "https://www.gyan.de…

Three.js 平面始終朝向相機

instanceMesh需要讓實例像粒子一樣始終朝向相機 可以如下處理shaderexport const billboarding // billboarding函數的GLSL實現 // 參數: // - position: 頂點動態位置偏移 // - positionLocal: mesh的position // - horizontal: 水平方向是否朝向相機 // - vertical: 垂直方…

旗訊 OCR 識別系統深度解析:一站式解決表格、手寫文字、證件識別難題!

在數字化辦公日益普及的今天&#xff0c;“紙質文檔轉電子”“圖片信息提取” 等需求愈發頻繁&#xff0c;但傳統手動錄入不僅效率低下&#xff0c;還容易出現數據錯誤。近期發現一款實用性極強的工具 —— 旗訊數字 OCR 識別系統&#xff0c;其覆蓋多場景的識別功能、極簡操作…