最近在做重构,主要是接入层API。
重构目的:
1、nodejs-》golang:开发、调试、单元测试的改进
2、删除不再维护的服务调用
3、静态配置到nacos的改进
4、提高并发查询效率
一、gin下的项目搭建
二、nacos选型
配置中心
选型
功能
基础功能
实时生效
版本管理
环境管理
独立应用
配置快照
特定功能
灰度发布
权限管理、发布审核、操作审计
部署简单
客户端配置信息监控
开源应用
项目上的人力投入(迭代进度、文档的完整性)、社区的活跃度(issue的数量和解决速度、Contributor数量、社群的交流频次等)、社区的规范程度(免责说明、安全性说明等),
开源项目
阿里:Nacos
Nacos的部署结构比较简单,运维成本较低,在对性能要求比较高的大规模场景更适合,活跃度较高
百度:Disconf
不再维护
携程:Apollo
大型项目 Apollo 是个好的选择,Apollo 部署难度更大一些所以这次选择并没有选择
三、nacos的配置、sdk调试
1、安装jre1.8和j1.8
(1)概念:
JVM + 核心类库 = JRE
JRE + java开发工具(javac.exe/jar.exe) = JDK
(2)安装
yum install jre java-1.8.0-openjdk -y
2、配置环境变量
(1)vim /root/.bash_profile
(2)PATH=$PATH:$HOME/bin:/data/nacos_component/apache-maven-3.8.1/bin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el6_10.x86_64/jre
(3)source /root/.bash_profile
3、单机启动先测试单点
(1)单机测试启动命令(standalone代表着单机模式运行,非集群模式),sh /data/nacos_component/nacos/bin/startup.sh -m standalone
(3)本地访问:http://127.0.0.1:8848/nacos
4、mysql建库建表
数据源,mysql建表:
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
贴到mysql执行即可。
5、集群配置
(1)cluster.conf
127.0.0.1:8848
127.0.0.2:8848
127.0.0.3:8848
(2)application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user.0=xxx
db.password.0=xxx
6、集群启动
默认集群启动执行:sh /data/nacos_component/nacos/bin/startup.sh
查看日志无报错:vim /data/nacos_component/nacos/logs/config-fatal.log
7、配置添加和管理
namespace设置:public作为默认,自定义添加其他。
Data Id:区分不同的服务类型。
Group:区分不同的配置文件。
8、SDK测试
https://github.com/nacos-group/nacos-sdk-go
9、测试用例
(1)更新配置推送时效性
(2)回滚
(3)监听健康检查