背景
闲来之余,试试腾讯开源的微服务框架tars。
tars的说明:https://github.com/TarsCloud/TarsDocs
包括微服务中的大部分功能,比如服务发现、服务治理、服务监控、服务定义等等功能。
平时工作中这些功能都是自己代码实现,有一个basesvr,然后当有新功能时基于basesvr开发出一个新的服务,这种方式相对落后;而且服务的升级、回滚、发现、治理功能还很不完善。
tars 框架安装
- docker安装方式
安装CentOS官方版本:1
yum install -y docker
- 启动Docker服务
1 | % sudo systemctl enable docker |
- 设置docker下载源
1 | 新建目录 |
- docker启动mysql
1 | % mkdir mysql-data |
- docker 启动tars框架
1 | docker run -d \ |
- 测试是否安装成功
1
http://192.168.101.124:3000/
tars-cpp 安装
- 编译工具安装
1 | yum install glibc-devel gcc gcc-c++ bison flex cmake |
- 下载源码,安装
1 | git clone https://github.com/TarsCloud/TarsCpp.git --recursive |
创建cpp的http服务
这里不使用tars协议开发服务,而是使用http协议开发服务。
- 创建服务
1 | cmake_http_server.sh TestApp HelloHttp Http |
- 修改代码实现
1 | HttpImp.cpp |
- 编译、打包服务
1 | 进入 "build" 目录,执行 make clean; make ; make tar |
- tars 管理页面发布服务
- 发布服务
1 | 上传打包的HelloHttp.tar 包,服务正常发布后,显示 |
- 接口测试
1 | 浏览器直接调用http 请求,查看返回内容,正常;同时tars 查看HelloHttp日志正常,接口调用次数有统计。 |
结论
挺好用,以后会在正式环境中使用这套系统。