最近研究了一下腾讯的微服务体系开发框架。
搭建过程: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。