天天看點

【Spring-Cloud-Alibaba】服務治理Nacos

Nacos簡介

源碼下載下傳 https://yangjing191928.coding.net/public/spring-cloud-alibaba/spring-cloud-alibaba/git/files/nacos

Nacos緻力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實作動态服務發現、服務配置、服務中繼資料及流量管理。

更多詳情請移步官網(https://nacos.io/zh-cn/docs/quick-start.html)接下來我們就将上述環境中的product、order服務注冊到nacos

Nacos環境搭建

安裝nacos 

下載下傳位址: https://github.com/alibaba/nacos/releases

下載下傳zip格式的安裝包,然後進行解壓縮操作

啟動nacos

#切換目錄

cd nacos/bin

#指令啟動(單機啟動)

startup.cmd -m standalone

PS:啟動後發現啟動報錯

IllegalArgumentException: db.num is null
           

 解決辦法:(%home% 是指nacos的安裝目錄) 

  1. mysql建立庫:nacos,字元集:utf8 ,排序規則:utf8_general_ci
  2. %home%/conf/nacos-mysql.sql檔案裡的sql腳本執行到本機資料庫的nacos庫中
  3. %home%/conf/application.properties裡修改配置
【Spring-Cloud-Alibaba】服務治理Nacos
【Spring-Cloud-Alibaba】服務治理Nacos

通路nacos

打開浏覽器輸入http://localhost:8848/nacos/index.html,即可通路服務, 預設密碼是nacos/nacos如下圖
【Spring-Cloud-Alibaba】服務治理Nacos

服務注冊

服務注冊是一樣的,例舉一個。

将使用者服務(product-service)微服務注冊到nacos

在pom.xml中添加nacos依賴

<!--引入nacos客服端-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
           

在啟動類上添加@EnableDiscoveryClient注解

package com.yangjing;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;

/**
 * <p>
 *
 * </p>
 *
 * @author:[email protected]
 * @date:2021-04-16
 */
@SpringBootApplication
@EnableDiscoveryClient
public class UserApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(UserApplication.class);
        Environment env = run.getEnvironment();
        String port = env.getProperty("server.port");
        String path = env.getProperty("server.servlet.context-path");
        System.out.println("\n--------------------------------------\n\t" +
                "Application is running! Access URLs:\n\t" +
                "Local: \t\thttp://localhost:" + port + path+ "/index.html\n\t" +
                "----------------------------------------------------------");
    }
}
           

在application.yml中添加nacos服務的位址

server:
  port: 8071

spring:
  application:
    name: user-service

  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
           

全部服務注冊到nacos後 如圖:

【Spring-Cloud-Alibaba】服務治理Nacos

繼續閱讀