1、背景:
项目采用SpringCloud构建,注册中心和配置中心用eureka、config组件构建
最近打算用Nacos替换上述两个组件(原因就不描述了)
2、实战
Nacos相关介绍文档很多,结合官网可快速入门
至于手册、源码、github等地址都可参考官网,本篇将从开发流程梳理下该组件的使用
2.1 下载快速启动
1)在linux下载(版本可更改,参考github)
wget https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.tar.gz
2)启动命令(解压后在bin目录启动,standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
3)访问验证(默认账号和密码:nacos/nacos)
http://IP:8848/nacos/index.html
4)效果展示
2.2 SpringBoot快速集成
1)pom文件引入jar
<!--1. 引入nacos相干依赖:服务发现、配置中心,版本问题-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
2)配置文件(注意错位)
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.26.114:8848
3)添加注解
@SpringBootApplication
@EnableDiscoveryClient
public class BdosProviderYuqing {
public static void main(String[] args) {
Logger logger=LoggerFactory.getLogger(BdosProviderYuqing.class);
SpringApplication.run(BdosProviderYuqing.class, args);
logger.info("start.....success...");
}
}
注意:引入jar包要注意版本,版本不匹配启动报错
4)效果展示
服务注册成功
2.3 gateway集成nacos
步骤同上述:1)2)3)
路由配置增加:根据不同的前缀转发到相对应的provider
cloud:
gateway:
routes: # 配置静态路由
- id: baidu_route
uri: http://baidu.com:80/
predicates:
- Path=/bd
- id: provider-yiqing
uri: lb://provider-yiqing #大小写敏感
predicates:
- Path=/api0/**
filters:
- StripPrefix= 1
测试访问(可以访问):http://路由IP:端口/api0/服务