SpringCloud 阿里巴巴
官方对于Nacos
的定义如下:
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
它可以作为我们的服务注册中心
服务配置中心
动态DNS
来使用,首先我们下载最新稳定版本Nacos 1.4.1
Nacos
的安装非常简单,可以参考官方文档,下载解压Nacos1.4.1
以后,目录如图
cd
进入bin
目录,执行sh startup.sh -m standalone
启动一个简单的nacos
服务端,当然,我比较喜欢通过docker
来运行,docker
方式启动,请按照下面的操作步骤
单机模式Derby
启动nacos
服务端
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
复制代码
等到nacos
启动完毕后,点击http://localhost:8848/nacos进入nacos
管理界面
亲切感十足,输入用户名nacos
密码nacos
进入管理界面
我们创建一个新的模块cloud-alibaba-payment-9001
,逻辑和cloud-payment-8001
的一模一样,唯一不同的就是配置文件,之前的配置我们主要配置程序注册到eureka
,现在我们配置程序注册到nacos
,cloud-alibaba-payment-9001
的配置文件如下
spring:
application:
name: cloud-alibaba-payment
cloud:
nacos:
discovery:
server-addr: localhost:8848
datasource:
url: jdbc:mysql://localhost:3306/cloud?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: b5c0f98553507347461ae6ffe4f907d9
druid:
initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数
max-active: 20 #最大连接数
web-stat-filter:
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据
stat-view-servlet: #访问监控网页的登录用户名和密码
login-username: druid
login-password: druid
server:
port: 9001
mybatis:
mapper-locations:
- classpath:dao/*.xml
management:
endpoints:
web:
exposure:
include: '*'
复制代码
配置完成以后,启动cloud-alibaba-payment-9001
,查看nacos
web 界面查看服务是否注册成功
nacos
自带了负载均衡,为了测试真实的效果,我们再创建一个模块cloud-alibaba-payment-9002
,也让其注册到nacos
服务中心,注意cloud-alibaba-payment-9002
的yml
文件中的端口号要为 9002,参考下方
spring:
application:
name: cloud-alibaba-payment
cloud:
nacos:
discovery:
server-addr: localhost:8848
datasource:
url: jdbc:mysql://localhost:3306/cloud?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: b5c0f98553507347461ae6ffe4f907d9
druid:
initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数
max-active: 20 #最大连接数
web-stat-filter:
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据
stat-view-servlet: #访问监控网页的登录用户名和密码
login-username: druid
login-password: druid
server:
port: 9002
mybatis:
mapper-locations:
- classpath:dao/*.xml
management:
endpoints:
web:
exposure:
include: '*'
复制代码
启动两个服务后,nacos
页面中会出现两个实例
这样,我们就把服务方便的注册到了nacos
中.
评论