TARS快速入门(NodeJs)

1 前言

一个NodeJs应用程序框架需要关注很多问题,如自动发布、多机部署、负载均衡、监控报警、日志的输出与管理、服务异常重启等等,而Tars应用程序框架就提供了解决这些问题的一整套方案。

Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++,Java和NodeJs三种语言。

tars-node项目就是基于Tars这套成熟而强大的框架的扩展,让Nodejs服务能够运行在Tars应用程序框架中。项目地址: https://github.com/tars-node

2 服务开发

Tars应用程序框架上可运行http server以及支持 tars和json 两种协议的rpc client/server程序。

tars rpc client/server开发步骤详见:tars服务开发和示例文档

@tars/rpc模块的代码中提供了rpc client/server的Demo工程: https://github.com/tars-node/rpc/tree/master/examples

TARS快速入门(NodeJs)_第1张图片

其中rpc-json目录下提供了基于json协议的rpc client/server ,rpc-tars目录下则提供了基于tars协议的rpc client/server。

3 服务发布

3.1 服务命名

使用Tars框架的服务,其的服务名称有三个部分:

APP:应用名,标识一组服务的一个小集合,在整个系统中,应用名必须是唯一的。例如:TestApp

Server:服务名,提供服务的进程名称,其命名一般以“Server“结尾。例如:HelloServer。

Servant:服务者,提供具体服务的接口或实例。例如:Hello。一个Server可以包含多个Servant。

系统会使用服务的APP + Server + Servant,进行组合,来定义服务在系统中的路由名称,称为路由Obj,其名称在整个系统中必须是唯一的,以便在对外服务时,能唯一标识自身。因此在定义APP时,需要注意APP的唯一性。

关于命名规则,参见: https://github.com/Tencent/Tars/blob/master/docs/tars_cpp_develop_specification.md

应该严格遵守命名规则,明确大小写。

3.2 服务创建

登录tars管理系统,左侧菜单中可以看到服务管理菜单

TARS快速入门(NodeJs)_第2张图片

点击菜单中的服务上线

TARS快速入门(NodeJs)_第3张图片

服务基本信息”表单需要填写服务的基本信息:

应用:填写该服务所属的应用名称,若要创建一个新的应用,可到系统管理>应用列表中新增

服务类型:根据服务实现的语言填写,此处选择NodeJs即可

服务名称:填写服务名称

模板名称:选择服务启动时所使用的配置文件名称,此处一般选择tars.cloud.default即可

是否启用set:指服务是否需要按set进行部署,选择“否“即可。

“OBJ部署信息”表单用于填写服务中servant的信息,需要关注的几个属性如下:

部署IP:选择服务将要部署的机器IP

OBJ绑定IP:obj要绑定到的ip,与部署ip相同

OBJ名称:obj的名称,一般使用servant名称+“Obj”来命名

OBJ端口:指OBJ要绑定的端口,如果不需要绑定特别的端口,可以点击自动生成端口来生成

是否tars:指服务是否使用tars协议。注意:此选项只能在开发tars协议的rpc server/client时勾选,若服务是http服务或者使用json协议的rpc服务,则不能勾选此选项

线程数:对于其他语言实现的tars服务,此选项指的是开启多少个业务处理线程,而对NodeJs服务来说此配置用于告知进程管理器开启多少个工作进程。

填写完这两个表单之后点提交即完成服务创建。

3.3 打包发布

NodeJs服务打包必须要使用与目标运行环境相同(类似)的环境进行。

在打包环境中安装tars框架服务打包工具 npm install -g @tars/deploy

在需要打包的服务根目录下运行 tars-deploy servername,即可完成服务打包。

打包完成后在当前目录可以看到servername.tgz文件。

进入tars管理平台,从左侧菜单树进入前面步骤创建的服务,点击发布管理。

3.png

点击手动上传发布包,上传完成后,点击获取发布版本,选择刚刚上传的发布版本,点击发布,即可完成服务发布。

6.png

进入服务管理界面,若服务实时状态为active,则说明服务已经发布成功并正常运行。

tars管理平台还提供了很方便的快速回滚、服务包管理等功能。

3.4 服务扩容

进入tars管理平台,点击左侧菜单树服务管理>服务扩容,进入扩容管理界面

TARS快速入门(NodeJs)_第4张图片

选择好要扩容的服务,点击下一步

TARS快速入门(NodeJs)_第5张图片

选择要扩容到的机器,点击提交扩容,即可快速完成服务扩容步骤。

3.5 服务下线

进入tars管理平台,从左侧菜单树进入服务管理>服务下线

根据应用名称和服务名称查询到要下线的服务

TARS快速入门(NodeJs)_第6张图片

选择要下线的服务,点击下线,若服务实时状态是inactive,则可下线该服务。

TARS快速入门(NodeJs)_第7张图片

转自:http://tars.tencent.com/base/help/TARS_quick_start_NodeJs.html#_Toc477541394

你可能感兴趣的:(软件工程)