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的安裝目錄)
- mysql建立庫:nacos,字元集:utf8 ,排序規則:utf8_general_ci
- %home%/conf/nacos-mysql.sql檔案裡的sql腳本執行到本機資料庫的nacos庫中
- %home%/conf/application.properties裡修改配置
通路nacos
打開浏覽器輸入http://localhost:8848/nacos/index.html,即可通路服務, 預設密碼是nacos/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後 如圖: