微服務注冊中心原理,看這篇就夠了!


在微服務架構中,注冊中心是最核心的基礎服務之一,本文將詳細介紹下注冊中心的組成部分和它們之前的關系。

本文目錄

一、注冊中心原理二:注冊中心功能

一、注冊中心原理

注冊中心主要涉及到三大角色:

  1. 服務提供者
  2. 服務消費者
  3. 注冊中心

它們之間的關系大致如下:

  1. 各個微服務在啟動時,將自己的網絡地址等信息注冊到注冊中心,注冊中心存儲這些數據。

  2. 服務消費者從注冊中心查詢服務提供者的地址,並通過該地址調用服務提供者的接口。

  3. 各個微服務與注冊中心使用一定機制(例如心跳)通信。如果注冊中心與某微服務長時間無法通信,就會注銷該實例。

  4. 微服務網絡地址發送變化(例如實例增加或IP變動等)時,會重新注冊到注冊中心。這樣,服務消費者就無需人工修改提供者的網絡地址了。

注冊中心的架構圖如下:



二:注冊中心功能

注冊中心應具備以下功能:

  1. 服務注冊表
    服務注冊表是注冊中心的核心,它用來記錄各個微服務的信息,例如微服務的名稱、IP、端口等。服務注冊表提供查詢API和管理API,查詢API用於查詢可用的微服務實例,管理API用於服務的注冊與注銷。

  2. 服務注冊與發現
    服務注冊是指微服務在啟動時,將自己的信息注冊到注冊中心的過程。服務發現是指查詢可用的微服務列表及網絡地址的機制。

  3. 服務檢查
    注冊中心使用一定的機制定時檢測已注冊的服務,如發現某實例長時間無法訪問,就會從服務注冊表移除該實例。

Spring Cloud提供了多種注冊中心的支持,例如Eureka、Consul和ZooKeeper等,下一篇文章將介紹下利用Eureka搭建注冊中心,敬請期待哦。

推薦閱讀
1.SpringBoot整合ActiveMQ,看這篇就夠了!
2.別在 Java 代碼里亂打日志了,這才是正確的打日志姿勢!
3.編碼神器Lombok,學會后開發效率至少提高一倍!
4.利用Spring Boot+zxing,生成二維碼還能這么簡單
5.Spring Boot之Profile--快速搞定多環境使用與切換

參考文章:《Spring Cloud與Docker 微服務架構實戰》,周立


限時領取免費Java相關資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高並發分布式、大數據、機器學習等技術。
關注下方公眾號即可免費領取:

Java碎碎念公眾號Java碎碎念公眾號

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM