勿以浮沙筑高台
Nacos
Nacos是什么
Nacos是和Eurak,Console一样的服务发现组件,由Alibaba孵化出来的。在原有的服务组件当中,当其中一个服务挂掉后,服务名依旧是注册在中心当中,并没有及时更新,Nacos很好的解决了这个问题,并且Nacos自带有分布式配置中心,无须自己去构建serverconfig。Nacos的社区十分活跃,众多公司都在用Nacos,到现在为止,依旧有很多维护BUG修复。
Nacos服务发现
下载Nacos
Git下载地址:https://github.com/alibaba/nacos/tags
解压
进入bin文件下单机启动
特别注意:解压的文件目录中不能出现中文,出现中文就启动报错
进入配置bin文件夹中执行cmd执行命令startup -m standalone
访问Nacos
访问:http://localhost:8848/nacos/#/login
账号密码都是:Nacos
项目搭建
1.pom项目中引入spring-cloud-alibaba
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.在微服务项目中引入发现组件
<!--引入服务与发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3.修改yml配置文件
spring:
cloud:
nacos:
discovery:
# 服务地址
server-addr: localhost:8848
application:
name: upstream
4.测试,这里用启动三个实例
可以看到实例数量,微服务数量
点击详情可以设置权重
Nacos配置中心
加载常规配置文件名称
1.在微服务项目中引入配置中心组件
<!--引入服务与发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.创建配置文件
点击配置中心,新增配置文件
配置配件文件名称:微服务名称+版本+后缀。
注意选择yml个添加Data ID的后缀名称
3.将application.yml
改为bootstrap.yml
(初始化之前加载)文件,编写bootstrap.yml
spring:
profiles:
active: dev
cloud:
nacos:
server-addr: localhost:8848
config:
file-extension: yml
application:
name: lowstream
4.启动项目测试,成功
加载非常规配置文件
新增配置文件lowstream-unusual-dev.yml
配置微服务yml文件
spring:
profiles:
active: dev
cloud:
nacos:
server-addr: localhost:8848
config:
file-extension: yml
# 指定配置源,等于配置信息的id=lowstream-unusual-dev.yml
extension-configs[0]:
data-id: lowstream-unusual-dev.yml
application:
name: lowstream
启动成功: