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中.
评论