腾讯微服务框架Tars的初体验

时间:2021-08-22 18:50:36

最近研究了一下腾讯的微服务体系开发框架。

搭建过程:https://github.com/TarsCloud/Tars/blob/master/Install.zh.md

写一个HelloWorld:https://cloud.tencent.com/developer/article/1381300

官方填的一些坑:https://cloud.tencent.com/developer/article/1372998?appinstall=0

自己填的坑:

不得不说,文档写得很好,几乎没遇到什么坑。只有两点要注意:

1.源码安装mysql的时候,把mysql.sock软链接到指定目录,否则,直接执行mysql -uroot的话会报找不到sock的错误。

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

2.mysql安装完给用户授权的过程走不下去了。

查看了mysql.user表:

+-----------+------------+-------------------------------------------+-------------+--------------+------------------------+
| Host      | User       | Password                                  | Select_priv | Trigger_priv |几乎所有字段都是           |
+-----------+------------+-------------------------------------------+-------------+--------------+------------------------+
| localhost | root       | *50589636A595E29BA0838B1F6CFC0E01D153BD86 | Y           | Y            | Y                      |
| 127.0.0.1 | root       | *50589636A595E29BA0838B1F6CFC0E01D153BD86 | Y           | Y            | Y                      |
| ::1       | root       | *50589636A595E29BA0838B1F6CFC0E01D153BD86 | Y           | Y            | Y                      |
| localhost |            |                                           | N           | N            | N                      |
| %         | mysql-sync | *48309E59A67428E25091B13BE36A68E8423723E4 | N           | N            | N                      |
| %         | root       | *50589636A595E29BA0838B1F6CFC0E01D153BD86 | Y           | Y            | Y                      |
| %         | tars       | *1DF96CEAE847CFE085D5A2FB82A466D0BCF87C98 | Y           | Y            | Y                      |
| localhost | tars       | *1DF96CEAE847CFE085D5A2FB82A466D0BCF87C98 | Y           | Y            | Y                      |
+-----------+------------+-------------------------------------------+-------------+--------------+------------------------+

上文忽略了一些字段,不过意思是,默认的localhost针对所有的user都是N,即使是grant使用的tars@'%'也不能访问。

这时需要单独针对tars@'localhost'来解决:

grant all on *.* to 'tars'@'localhost' identified by 'tars2015' with grant option;flush privileges;

3.如果选择的是一键安装,那么需要注意配置:

vim Tars/deploy/comm.properties

4.用TarCPP的时候到Tars/framework/tarscpp/servant/script目录下执行

./create_http_server.sh之后

到自己的目录下,make && make tar,然后服务部署的时候选“非TARS”就没有问题了。

 

什么是Tars?

腾讯 Tars 是腾讯内部使用的 TAF(Tencent Application Framework)的对外开源版,去掉了许多冗杂多余的部分。该框架集开发、运维、微服务、RPC 等为一体。对程序员而言,这就是一个能够快速搭建整个微服务体系的开发框架。这个框架支持基于 C++、Node.js、PHP、Java 等语言开发,最新版本已经支持后台开发语言新贵——Go。