1. 程式人生 > 其它 >Nacos安裝、服務註冊和服務發現

Nacos安裝、服務註冊和服務發現

一、Nacos安裝

1.下載

在Nacos的GitHub頁面,提供有下載連結,可以下載編譯好的Nacos服務端或者原始碼:

GitHub主頁:https://github.com/alibaba/nacos

GitHub的Release下載頁:https://github.com/alibaba/nacos/releases

windows版本使用nacos-server-1.4.1.zip包即可。

2.目錄說明:

  • bin:啟動指令碼
  • conf:配置檔案

3.埠配置

Nacos的預設埠是8848,如果你電腦上的其它程序佔用了8848埠,請先嚐試關閉該程序。

如果無法關閉佔用8848埠的程序,也可以進入nacos的conf目錄,修改配置檔案中的埠

4.啟動

啟動非常簡單,進入bin目錄

然後執行命令即可:

  • windows命令:

startup.cmd -m standalone

  執行後的效果如圖:

5.登入nacos

瀏覽器訪問:http://localhost:8848/nacos/index.html進入登入頁面

賬號密碼均為:nacos

二、服務註冊到nacos

Nacos是SpringCloudAlibaba的元件,而SpringCloudAlibaba也遵循SpringCloud中定義的服務註冊、服務發現規範。因此使用Nacos和使用Eureka對於微服務來說,並沒有太大區別。

主要差異在於:

  • 依賴不同
  • 服務地址不同

1.引入依賴

在父工程的pom檔案中的<dependencyManagement>中引入SpringCloudAlibaba的依賴:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.6.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

然後在user-service和order-service中的pom檔案中引入nacos-discovery依賴:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.配置nacos地址

在user-service和order-service的application.yml中新增nacos地址:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848

3.重啟

重啟微服務後,登入nacos管理頁面,可以看到微服務資訊:

三、服務發現

在order-service的OrderApplication中,給RestTemplate這個Bean新增一個@LoadBalanced註解:

@Bean
   @LoadBalanced
   public RestTemplate restTemplate(){
       return new RestTemplate();
   }

  

修改order-service服務中的cn.itcast.order.service包下的OrderService類中的queryOrderById方法。修改訪問的url路徑,用服務名代替ip、埠:

String url="http://userservice/user/"+ order.getUserId();
        User user = restTemplate.getForObject(url, User.class);