目录
1.Nacos介绍
1.1Nacos是什么:
Nacos是阿里开放的一款中间件,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。
1.2nacos和eureka功能对比
功能模块 | nacos | eureka | 功能说明 |
---|---|---|---|
注册中心 | √ | √ | 服务治理,服务中心化注册 |
配置中心 | √ | × | eureka需要配合springcloud config实现 |
配置动态刷新 | √ | × | nacos通过netty保持tcp长链接进行推送,eureka需要配合mq实现配置动态刷新 |
可用区az | √ | √ | 对服务集群划分不同区域,实现区域隔离,并提供灾难级自动切换 |
分组 | √ | × | nacos根据不同的业务、环境进行分组管理(namespace,group |
元数据 | √ | √ | 提供服务标签数据(环境、服务标识) |
权重 | √ | × | nacos提供权重设置,调整承载流量压力 |
健康检查 | √ | √ | nacos提供服务端或者客户端发起的健康监测,eureka是有客户端发起心跳 |
负载均衡 | √ | √ | 均提供负载均衡策略,eureka采用ribbon |
1.4流程如下:
1、微服务启动,将自己注册到Nacos,Nacos记录了各微服务实例的地址。
2、网关从Nacos读取服务列表,包括服务名称、服务地址等。
3、请求到达网关,网关将请求路由到具体的微服务。
要使用网关首先搭建Nacos,Nacos有两个作用:
1、服务发现中心。
微服务将自身注册至Nacos,网关从Nacos获取微服务列表。
2、配置中心。
微服务众多,它们的配置信息也非常复杂,为了提供系统的可维护性,微服务的配置信息统一在Nacos配置。
2、搭建Nacos
安装可以看我的Nacos安装教程:Nacos安装_Relievedz的博客-CSDN博客
1、服务发现中心
要使用网关首先搭建Nacos。
首先搭建Nacos服务发现中心。
在搭建Nacos服务发现中心之前需要搞清楚两个概念:namespace和group
namespace:用于区分环境、比如:开发环境、测试环境、生产环境。
group:用于区分项目,比如:xuecheng-plus项目、xuecheng2.0项目
首先在nacos配置namespace:
登录Centos,启动Naocs,使用sh /data/soft/restart.sh将自动启动Nacos。
访问:http://192.168.113.1:8848/nacos/index.html
账号密码:nacos/nacos
登录成功,点击左侧菜单“命名空间”进入命名空间管理界面,
点击“新建命名空间”,填写命名空间的相关信息。如下图:
创建成功,如下图:
首先完成各服务注册到Naocs,下边将内容管理服务注册到nacos中。
3.2在idea中使用Nacos
1、在内容管理模块的接口工程、系统管理模块的接口工程中添加如下依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
2、配置nacos的地址
#微服务配置 spring: application: name: system-service cloud: nacos: server-addr: 192.168.113.1:8848 discovery: namespace: dev148 group: xuecheng-plus-project
注意:这里一定要注意格式不然数据传不上气 很重要! 很重要! 很重要!
参数介绍:
server-addr: 自己nacos的地址 namespace:nacos的命令空间
3、重启内容管理服务、系统管理服务。
待微服务启动成功,进入Nacos服务查看服务列表,下面页面就是配置成功了