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:yangjing2@foreveross.com
* @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后 如图: