Nacos 搭建与简单的使用 2022-03-04 程序之旅,记录 暂无评论 919 次阅读 ## Nacos 搭建与简单的使用 > 随着互联网的快速发展,对开发员的要求越来越高,微服务的框架也是一个合格程序员的必要知识储备,本人又要开始慢慢的着手微服务的开发知识。 Nacos 有以下的特性 - 服务发现 服务发现 权重管理 打标管理 优雅上下线 - 配置管理 在线编辑 历史版本 一键回滚 恢复发布 推送轨迹 - DNS服务 ### Nacos 的搭建 - CentOS 7,ip 192.168.1.100 - JDK 8 - mysql 5.7 - Nacos 1.4.0 1、下载 nacos 的文件 Nacos [下载地址](https://github.com/alibaba/nacos/releases/tag/1.4.0),下载 tar.gz 包 2、解压缩文件到 /usr/local 目录中,解压后的有以下的主要目录 - bin:保存启动、关闭 Nacos server 脚本 - conf:Nacos Server 配置目录 - data:Nacos 数据目录 - logs:日志目录 - target:Nacos Jar 包存放目录 3、启动 Nacos 启动前先要确保 JAVA_HOME 有配置,启动单点方式 ```shell $ echo $JAVA_HOME /usr/local/jdk1.8.0_181 $ cd /usr/local/nacos/bin $ sh startup.sh -m standalone $ tail -f /usr/local/nacos/logs/start.out 2022-03-04 21:38:40,408 INFO Nacos started successfully in stand alone mode. use embedded storage 2022-03-04 21:40:29,476 INFO Initializing Servlet 'dispatcherServlet' 2022-03-04 21:40:29,492 INFO Completed initialization in 16 ms ``` > 出现 `successfully` 表示启动成功 4、开放端口 7848/8848 ```shell [root@localhost felton]# firewall-cmd --zone=public --add-port=8848/tcp --permanent success [root@localhost felton]# firewall-cmd --zone=public --add-port=7848/tcp --permanent success [root@localhost felton]# firewall-cmd --reload success ``` 5、进入管理界面 浏览器地址栏输入 `http://192.168.1.102:8848/nacos` 输入用户名密码(默认 nacos/nacos) ![image-20220304220154918](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220304220154918.png) ### 微服务在 Nacos 进行注册登记 在创建 spring 服务的时候,默认连接 spring 官方的服务器,也就是 https://start.spring.io/,会因为网络的原因,经常会往往访问不了,可以使用国内的网络 https://start.aliyun.com/。之后选择必要的依赖。 ![image-20220304221815416](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220304221815416.png) 创建好的完整的依赖 ```xml org.springframework.boot spring-boot-starter com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-dubbo org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine ``` 修改配置文件 application.properties ```properties server.port=8081 # 应用名称 spring.application.name=spring-cloud-simple-service # Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html # Nacos认证信息 spring.cloud.nacos.discovery.username=nacos spring.cloud.nacos.discovery.password=nacos # Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口 spring.cloud.nacos.discovery.server-addr=192.168.1.102:8848 # 注册到 nacos 的指定 namespace,默认为 public spring.cloud.nacos.discovery.namespace=public ``` 启动出现如下日志表示成功 ``` ... 2022-03-04 22:25:24.510 INFO 20836 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP spring-cloud-simple-service 192.168.40.1:8081 register finished ... 2022-03-04 22:25:24.799 INFO 20836 --- [ main] o.a.d.config.bootstrap.DubboBootstrap : [DUBBO] DubboBootstrap has started., dubbo version: 2.7.8, current host: 192.168.80.1 2022-03-04 22:25:24.800 INFO 20836 --- [ main] .m.s.SpringCloudSimpleServiceApplication : Started SpringCloudSimpleServiceApplication in 5.511 seconds (JVM running for 6.182) ``` 打开 nacos 的服务页面,出现如下内容,表示注册成功 ![image-20220304222717477](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220304222717477.png) ### Nacos 注册中心的心跳机制与健康检查 心跳原理解释 ![image-20220304222847579](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220304222847579.png) ![image-20220304222930691](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220304222930691.png) > nacos 的淘汰机制,每隔 20 秒钟,剔除不健康的服务。 ## 2022年4月8日 ### nacos 数据库和单节点集群配置 第一步、在 nacos 的根目录下的 conf 文件夹,配置 application.properties 文件。 ```properties ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root ``` 第二步、在数据库中执行 conf/nacos-mysql.sql 文件 ```sql $ mysql -uroot -p > use nacos_config > source /usr/local/nacos/conf/nacos-mysql.sql ``` 第三步、创建 conf/cluster.conf 集群配置文件,配置一个单节点集群 ```conf #it is ip #example 192.168.16.101:8847 ``` 第四步、执行启动命令 ```sh sh bin/startup.sh ``` > 如果是 windows 可以在 startup.cmd 中,修改 set MODE="standalone" 打赏: 微信, 支付宝 标签: nacos, spring cloud alibaba 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。