成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:Nacos有幾種負載均衡策略?

開發 前端
注冊中心和負載均衡器嚴格意義上來說是兩個東西,但 Nacos 注冊中心中,內置了兩種負載均衡策略:基于權重和基于 CMDB(低于就近訪問)的負載均衡策略。

Nacos 作為目前主流的微服務中間件,包含了兩個頂級的微服務功能:配置中心和注冊中心。

1、配置中心掃盲

配置中心是一種集中化管理配置的服務,通俗易懂的說就是將本地配置文件“云端化”。 這樣做的好處有以下幾個:

  1. 集中管理配置信息:配置中心將不同服務的配置信息集中放在一起進行管理,實現了配置信息的集中存儲。
  2. 動態更新配置:配置中心中的配置信息可以通過操作界面或 API 進行動態更新,無需重啟服務就可以應用最新的配置信息。
  3. 配置信息共享:將配置集中在配置中心中,不同的服務實例可以共享同一套配置信息。
  4. 配置信息安全:配置中心可以對配置信息提供安全管理、權限控制等管理功能。
  5. 信息追溯:支持配置版本管理、歷史記錄等管理功能。

當然,配置中心不可能有負載均衡的功能,所以略過,咱們直接來看注冊中心。

2、注冊中心掃盲

注冊中心(Registry)是分布式系統中的一個組件,用于實現服務的注冊與發現。注冊中心用于管理服務實例的元數據信息,并提供服務發現和路由的功能。

在微服務架構中,服務之間經常需要互相調用和通信。注冊中心的作用是為服務提供一個集中管理和協調的中心,默認情況下,服務將自己的信息注冊到注冊中心,其他服務可以通過查詢注冊中心的信息來發現和調用目標服務。

注冊中心的核心功能包括以下幾個:

  • 服務注冊:服務提供者在啟動時將自己的信息(比如 IP 地址、端口號、服務名稱等)注冊到注冊中心。注冊中心維護著一張服務實例的清單。
  • 服務發現:服務消費者通過向注冊中心查詢服務信息,獲取可用的服務實例列表。通過注冊中心,服務消費者能夠找到并連接到目標服務。
  • 健康檢查:注冊中心可以定時檢查服務實例的健康狀態,并根據服務的狀態更新服務實例的可用性。
  • 負載均衡:注冊中心可以根據負載均衡策略,將請求分發給不同的服務實例,以實現負載均衡和服務高可用。
  • 服務路由:在一些高級注冊中心中,還可以定義服務路由規則,將請求路由到不同的服務實例,實現更靈活的流量控制和管理。

3、注冊中心與負載均衡

負載均衡嚴格的來說,并不算是傳統注冊中心的功能。?般來說服務發現的完整流程應該是先從注 冊中心獲取到服務的實例列表,然后再根據自身的需求,來選擇其中的部分實例或者按照?定的流 量分配機制來訪問不同的服務提供者,因此注冊中心本身?般不限定服務消費者的訪問策略。

例如 Eureka、Zookeeper 包括 Consul,本身都沒有去實現可配置及可擴展的負載均衡機制,Eureka 的 負載均衡是由 Ribbon 來完成的,而 Consul 則是由 Fabio 做負載均衡。

也就是說注冊中心和負載均衡,其實完全屬于兩個不同的東西,注冊中心主要提供服務的注冊,以及將服務注冊的列表交給消費者,至于消費者要使用哪種負載均衡策略?完全可以由自己決定。此時消費者可以通過客戶端負載均衡器來實現服務的選擇和調用,例如客戶端負載均衡器 Ribbon 或 Spring Cloud LoadBalancer。

4、客戶端與服務端負載均衡

客戶端負載均衡器通常位于服務的消費者端,主要負責將請求合理地分發給不同的服務提供者。工作原理是客戶端在發起請求前,通過負載均衡算法選擇一個合適的服務實例進行請求。客戶端根據服務實例的健康度、負載狀況等指標來決定選擇哪個服務實例。常見的客戶端負載均衡器有 Ribbon、Feign 等。

服務端負載均衡器通常被稱為反向代理服務器或負載均衡器,它位于服務的提供者端,接收客戶端的請求,并根據一定的負載均衡策略將請求分發給后端的多個服務實例。工作原理是將客戶端的請求集中到負載均衡器,由負載均衡器將請求分發給多臺服務提供者。常見的服務器端負載均衡器有 Nginx、HAProxy 等。

客戶端負載均衡 VS 服務端負載均衡

  • 客戶端負載均衡器的優點是可以實現本地的負載均衡算法,避免了對注冊中心的頻繁調用,降低了網絡開銷。它的缺點是每個客戶端都需要集成負載均衡器,導致代碼冗余和維護復雜性。
  • 服務器負載均衡器的優點是可以集中管理請求流量,提供一致的負載均衡策略和配置,對客戶端透明。它的缺點是服務器端負載均衡器通常需要獨立部署和配置,增加了系統的復雜性和維護成本。并且它很可能成為整個系統的瓶頸(因為客戶端需要頻繁的調用),所以此時需要考慮其性能和可靠性等問題。

5、Nacos和負載均衡

然而 Nacos 的注冊中心和傳統的注冊中心不太一樣,例如  Eureka、Zookeeper、Consul 等。因為 Nacos 在 0.7.0 之后(包含此版本),它內置了以下兩種負載均衡策略:

基于權重的負載均衡策略,這個在 Nacos 服務編輯的時候也可以看到其設置:

基于第三方 CMDB(地域就近訪問)標簽的負載均衡策略,這個可以參考官方說明文檔:https://nacos.io/zh-cn/blog/cmdb.html

小結

注冊中心和負載均衡器嚴格意義上來說是兩個東西,但 Nacos 注冊中心中,內置了兩種負載均衡策略:基于權重和基于 CMDB(低于就近訪問)的負載均衡策略。

思考

那么問題來了,既然 Nacos 中內置了基于權重的負載均衡策略,那為什么修改 Nacos 中的權重值,在服務端調用時,卻沒看到任何變化?

責任編輯:姜華 來源: Java中文社群
相關推薦

2019-12-25 11:22:19

負載均衡集群算法

2020-09-07 06:28:37

Nginx靜態負載均衡動態負載均衡

2023-10-27 17:23:03

Ribbon負載均衡策略

2021-12-08 06:53:28

HashMap面試JDK 8

2023-02-20 08:08:48

限流算法計數器算法令牌桶算法

2010-05-10 16:20:32

負載均衡策略

2010-04-20 12:49:27

負載均衡策略

2023-08-29 17:51:22

Ribbon客戶端均衡器

2025-03-26 01:25:00

MySQL優化事務

2022-07-26 08:40:42

Java并發工具類

2022-08-02 06:31:32

Java并發工具類

2024-03-07 17:21:12

HotSpotJVMHot Code

2021-05-27 07:14:52

ZooKeeper節點類型

2020-04-27 10:00:53

負載均衡互聯網架構

2024-08-19 09:13:02

2024-06-04 07:38:10

2021-07-14 08:00:13

reactCss模塊

2024-10-31 09:30:05

線程池工具Java

2024-02-26 14:07:18

2021-05-10 08:01:12

BeanFactoryFactoryBean容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文区中文字幕免费看 | 亚洲一区二区三区免费观看 | 久久久蜜臀国产一区二区 | 精品av| 日韩电影中文字幕在线观看 | 亚洲九色 | 中文字幕一区二区三区四区五区 | 成人不卡一区二区 | 亚洲激情视频在线 | 亚洲精品电影在线观看 | 国产高清在线精品 | 成人一级视频在线观看 | 91综合网| 亚洲乱码一区二区三区在线观看 | 91在线免费视频 | 亚洲免费一区二区 | 91国内外精品自在线播放 | 青青久久 | 日韩免费视频 | 免费a网| 久久久久久九九九九 | 午夜一区二区三区在线观看 | 中文字幕二区 | 国产美女黄色 | 一区二区三区四区五区在线视频 | 久草综合在线视频 | 欧美日韩一区在线播放 | 中文字幕在线免费观看 | 91九色视频| 91精品久久久久久久久中文字幕 | 中文字幕一区二区三区精彩视频 | 欧美日韩亚洲视频 | 99精品一级欧美片免费播放 | 国产精品久久久久久久久久久久久 | 天天操夜夜爽 | 国产精品99久久久久久动医院 | 国产亚洲精品精品国产亚洲综合 | 亚洲精品天堂 | 精品欧美一区二区三区久久久 | 91 在线 | 自拍偷拍中文字幕 |