天天看點

手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰

前面講解了Eureka的內建實戰,目的是讓大家先了解SpringCloud初代是怎麼內建的,然後在了解Nacos的就是水到渠成的事情。Nacos的強大在于一下整合了服務注冊發現、配置管理和Bus總線,我會分三期分别講解,本期帶大家來學習服務注冊中心的主要功能。

Nacos簡介

  • GitHub位址:https://github.com/alibaba/nacos
  • 中文官方位址:https://nacos.io/zh-cn/
  • 手冊位址:https://nacos.io/zh-cn/docs/what-is-nacos.html
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
上面三個位址是學習Nacos最常用的位址。代碼內建也是出自手冊,是以大家在學習過程中遇到任何不懂的地方,建議大家把三個位址收藏到浏覽器的書鑒中,友善及時查閱。

Nacos的功能

  • 替代EUREKA,作為服務注冊中心
  • 替代Config,作為配置中心 
  • 替代Bus,作為服務總線

Nacos的下載下傳和安裝

  • Nacos跟Eureka類似也有一個背景頁面,Eureka在使用的時候還需要建構一個Web工程,而Nacos就不需要了,隻要下載下傳一個jar包就可以。
  • Nacos預設内部內建了資料庫,适合單機模式,也支援mysql做替換,适合叢集模式。注冊中心的功能介紹,我這裡是在單機模式上來開發。
  • 需要Java8和maven本地環境
  • 由于前面文章介紹過,我使用的是cloud的alibaba的2.2.6版本,對應的Nacos的版本是1.4.2
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  •  在GitHub上點選tags,下載下傳1.4.2的server的zip包,檔案的結構如下。bin目錄下是執行檔案,conf下是配置檔案
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 配置檔案的結構如下,application.properties是Springboot工程的配置檔案,cluster.conf是Nacos叢集配置檔案,主要是配置IP+port,nacos-mysql.sql是MySQL的初始化語句,主要是建立資料庫和表結構
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 單機模式啟動Nacos,執行指令:
startup.cmd -m standalone
           
  • 預設綁定8848端口,使用内嵌資料庫,看到Nacos started successfully in standalone mode,說明單機模式啟動成功
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 本地通路http://localhost:8848,賬号密碼都是nacos,看到如下首頁說明nacos已經能夠正常使用了。可以看到有配置管理、服務管理等,本篇文章主要關注服務管理。
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰

SpringCloud內建Nacos實戰

  • 首先是建立一個新的module,cloud-nacos-payment9001,Moudle的建立可以參考本系列的其他文章,這裡不在贅述,跟着我部落格學下來的,這部分應該已經學會了。
  • 修改pom檔案,添加Nacos服務注冊中心需要的jar包依賴
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
           
  • 修改yml檔案,增加Nacos的服務注冊中心的配置 
spring:
  application:
    name: cloud-nacos-payment
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
           
  • 修改啟動類,隻要添加@EnableDiscoveryClient注解即可
@SpringBootApplication
@EnableDiscoveryClient
public class Application9001 {
    public static void main(String[] args) {
        SpringApplication.run(Application9001.class, args);
    }
}
           
  • 啟動服務,去Nacos背景檢視該服務是否已經注冊進來。
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 同樣的辦法,服務提供者我們再建立一個9002,主要用來模拟負載均衡
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 同樣的辦法添加服務消費者cloud-nacos-order9003,看到payment兩個執行個體,order一個執行個體,都注冊成功。
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 修改業務類,9001和9002中分别添加getPayment方法,在9003中添加調用方法,來測試通過nacos的服務發現功能是否能通路成功。具體方法代碼跟使用Eureka的相同,這裡就不在贅述,大家可以進入我的碼雲倉庫去下載下傳。關注我公衆号【帥哥趣談】,回複【cloud】擷取。
  • Nacos是內建了Ribbon,所有具有服務發現的能力,可以通過依賴關系看到。是以在發起服務請求的時候用RESTTemplate即可
手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰
  • 至此,Nacos的服務注冊和發現功能內建實戰就完成了。

關注公衆号,回複【資料】,免費擷取海量Java學習資料

手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰

同時也歡迎大家添加個人微信【shishuai860505】,我拉大家進我的讀者交流群。

手把手學習springcloudalibaba:❤️‍Nacos服務注冊中心內建實戰❤️‍Nacos簡介Nacos的功能Nacos的下載下傳和安裝SpringCloud內建Nacos實戰

繼續閱讀