西纳普斯RPC框架3-GO示例

西纳普斯 - Synapse

JumpServer MQ SDK核心交互包,名称取自 天降之物 , 西纳普斯 高端人类文明的生活地盘, 拥有统筹一切的能力

功能

  1. RPC 服务器
  2. RPC 客户端
  3. Event 服务器
  4. Event 客户端

方法

synapse. Server - 西纳普斯配置类

type Server struct {
    Debug              bool
    DisableRpcClient   bool
    DisableEventClient bool
    SysName            string
    AppName            string
    MqHost             string
    MqPort             string
    MqUser             string
    MqPass             string
    EventCallbackMap   map[string]func(map[string]interface{}, amqp.Delivery)
    RpcCallbackMap     map[string]func(map[string]interface{}, amqp.Delivery) interface{}
}

*SysName为必须设置的选项, 用于标识本应用所在的系统

*AppName为必须设置的选项,用于在应用所处的系统中标识应用

*EventCallbackMap或RpcCallbackMap 如果不进行设置,将禁用相关功能

*DisableRpcClient或DisableEventClient 可以禁用客户端相关功能

synapse.Server.Serve - 启动西纳普斯所有服务

func (*s Server) Serve()

synapse.SendEvent - 触发事件

func (*s Server) SendEvent(eventName string, params map[string]interface{})

参数名称参数类型说明
eventNamestring使用 . 连接,没有人监听的事件将丢失
paramsmap[string]interface{}要传递的数据,将会自动转换为JSON

synapse.SendRpc - 请求RPC接口

func (*s Server) SendRpc(action string, params map[string]interface{}) map[string]interface{}

参数名称参数类型说明
appNamestring组件所在系统的名称
actionstring要请求的组件名称,如 icarus
paramsmap[string]interface{}要传递的数据,将会自动转换为JSON
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注