TARS 的服务自定义命令|实现高效服务管理

TARS自定义命令功能允许开发者添加除框架基础管理外的服务管理功能。通过实现响应函数并绑定命令,可以在TarsWeb上发送命令执行自定义逻辑。本文介绍了TARS自定义命令的添加、绑定、使用及原理,帮助实现高效服务管理。
摘要由CSDN通过智能技术生成

作者 Eaton

导语

日常开发中,除了基础的服务管理功能,有时我们还需要进行一些特殊的业务相关的服务管理,比如清除服务缓存,改变服务的模式、停用服务某个接口等。由于这些需求和业务耦合性较高,框架层面一般不会提供这样的功能,开发者甚至需要自己开发额外接口来实现。为了解决这一问题,TARS 在框架层面提供了自定义命令的功能。

TARS 自定义命令简介

TARS 自定义命令功能用于实现除框架对服务的基础管理以外的服务管理功能。开发者能够添加自定义命令并实现命令的逻辑,并通过 TarsWeb 管理页面来向服务发送命令,触发自定义命令的逻辑。

TARS 服务框架中也通过自定义命令的方式,内置了以下八种命令:

tars.help           # 查看所有管理命令
tars.loadconfig     # 从配置中心, 拉取配置下来: tars.loadconfig filename
tars.setloglevel    # 设置滚动日志的等级: tars.setloglevel [NONE, ERROR, WARN, DEBUG]
tars.viewstatus     # 查看服务状态
tars.connection     # 查看当前链接情况
tars.loadproperty   # 使配置文件的 property 信息生效
tars.setdyeing      # 设置染色信息 tars.setdyeing key servant [interface]

tars.setloglevel 为例,我们想要修改某个服务的日志等级为 ERROR,打开服务的管理页面,点击 更多命令,如下

在弹出窗口中选中自定义命令,输入命令 tars.setloglevel ERROR,并点击 确定

点击 确定 后,会弹出提示框,提示命令执行结果,如下图,我们成功设置了日志等级。

DHYgsI.png

接下来,我们介绍用户添加全新自定义命令的方法。

添加自定义命令

本部分将以 TarsCpp 应用为例,介绍如何在服务中添加自定义命令。这里我们通过以下命令创建一个服务名为 CommandDemo.DemoServer.DemoObj 的服务,后面将以该服务为例子介绍如何使用自定义命令。

/usr/local/tars/cpp/script/cmake_tars_server.sh CommandDemo DemoServer Demo

项目结构如下

DemoServer
├── build                   # 构建目录
├── CMakeLists.txt          # cmake 构建文件
└── src                     # 源文件目录
    ├── CMakeLists.txt
    ├── Demo.h              # Demo.tars 生成文件
    ├── DemoImp.cpp         # 接口实现文件
    ├── DemoImp.h           # 接口实现头文件
    ├── DemoServer.cpp      # 服务实现文件
    ├── DemoServer.h        # 服务实现头文件
    └── Demo.tars           # tars 接口定义文件

关于 TARS 服务的创建与部署,参考文档 TARS 服务开发入门,本文不再赘述。

添加全新自定义命令的方法分两步:

  1. 实现自定义命令响应函数
  2. 将响应函数与自定义命令绑定

实现自定义命令响应函数

在这一部分中,我们将尝试创建并实现一个自定义命令。

首先,我们在服务实现头文件 DemoServer.h 中,添加自定义命令函数的声明

bool testCommand<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值