Menu
🌜
🌞
- 1. 框架介绍
- 2. 注册中心
- 3. 服务Provider
- 4. 网关&监控
- 5. 服务资源监控
- 6. 集群接口文档
- 7. Hello World
- 8. 集成Java
- 9. 进阶指南
- 10. 领域驱动设计
- 11. 事件总线
- 12. 更多
- 13.1 好文章集合

ViperService
微服务中安装获取服务 CPU
、内存
、硬盘占用
的插件
Anno.Plugs.MonitorService
##### 监控插件式可选的,也可以不用内置的资源获取方法自己重新实现
监控插件Anno.Plugs.MonitorService
的实现也是非常简单的,开发者也可以自定义自己的资源获取插件。 但是插件的名称必须为 Anno.Plugs.MonitorService
,模块名称为 ResourceModule
,方法名称为GetServerStatus
。 下面讲解下如何自定义插件
## 5.1.2 Anno.Plugs.MonitorService 插件解析#
新建一个类库名称为 Anno.Plugs.XXX
Service,此处的XXX
代表Monitor
。 我们推荐插件插件的命名规范为Anno.Plugs.XXX
Service,这样Viper在启动的时候可以自动发现插件 ,不需要额外的做手工配置。否则需要手动修改配置文件,例如插件名称为Viper.LogService
,则修改修改配置文件的 FuncName
节点。
##### 插件命名规范 特别注意 1、插件名称配置文件:
Viper\ViperService\Anno.config
<?xml version="1.0" encoding="utf-8" ?><configuration><!—0,0 第一位是 工作站,第二位数据中心(所有的 AnnoService 的 两位数不能重复例如不能存在【1,2】【1,2】)可以存在【1,2】【2,1】—><IdWorker>0,0</IdWorker><!—App名称—><AppName>ViperService-01</AppName><!—监听端口—><Port>7011</Port><!—权重—><Weight>1</Weight><!—功能 非Anno.Plugs 加入方式,多个用逗号,
隔开—><FuncName>Viper.LogService,xxx.LogService</FuncName><!—忽略的功能 Trace,Logic—><IgnoreFuncName></IgnoreFuncName><!—超时时间毫秒—><TimeOut>20000</TimeOut><!—注册到的目标—><Ts Ip="127.0.0.1" Port="7010"/><IocDll>……..省略………..</IocDll><appSettings>……..省略………..</appSettings></configuration>
程序集名称
和里面的模块命名空间
名称必须一致,统一为Anno.Plugs.XXX
Service,不同插件可以不一样。
2、不管插件名称是否是以Anno.Plugs.
开始结尾都必须是Service
。例如:XXX.XXX
Service
3、模块名称必须是以Module
结尾,且集成BaseModule
4、方法名称不做特殊限制,但是范围类型推荐为 ActionResult
## 5.1.3 Anno.Plugs.MonitorService 插件代码#
Bootstrap.cs 这个是插件的初始化加载器
using Anno.EngineData;
using System;
namespace Anno.Plugs.MonitorService
{
public class Bootstrap : IPlugsConfigurationBootstrap
{
//插件加载前
public void ConfigurationBootstrap()
{
}
//插件加载后
public void PreConfigurationBootstrap()
{
}
}
}
ResourceModule.cs 监控模块
/**
Writer:Du YanMing
Mail:dym880@163.com
Create Date:2020/10/12 9:19:12
Functional description: Resource
**/
using Anno.Const.Attribute;
using Anno.EngineData;
using System;
using System.Collections.Generic;
using System.Text;
namespace Anno.Plugs.MonitorService
{
public class ResourceModule : BaseModule
{
//获取服务资源方法
private static readonly EngineData.SysInfo.UseSysInfoWatch Usi = new EngineData.SysInfo.UseSysInfoWatch();
/// <summary>
/// 服务资源信息
/// </summary>
/// <returns></returns>
[AnnoInfo(Desc = "服务资源信息CPU、Memory")]
public ActionResult GetServerStatus()
{
return new ActionResult(true, Usi.GetServerStatus());
}
}
}
Edit this page
Previous
« 4.1 网关&监控
Next
6.1 集群接口文档 »
- 5.1.1 服务资源总览
- 5.1.2 Anno.Plugs.MonitorService 插件解析
- 5.1.3 Anno.Plugs.MonitorService 插件代码
文档
社区
更多
Copyright © 2022 Anno.