快捷搜索: 王者荣耀 脱发

rabbitmq角色说明及使用规范

角色说明:

用户角色分为6类,超级管理员, 监控者, 策略制定者, 普通管理者,模仿者,以及其他。

    超级管理员(administrator): 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 监控者(monitoring): 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等),可以操作exchange、queue,无法对策略进行管理。 策略制定者(policymaker): 可登陆管理控制台(启用management plugin的情况下), 可以操作exchange、queue,同时可以对policy进行管理。 普通管理者(management): 仅可登陆管理控制台(启用management plugin的情况下),可以操作exchange、queue,无法看到节点信息,也无法对策略进行管理。 模仿者(Impersonator): 不能登录后台,通常就是普通的生产者和消费者。 其他(none): 无法登陆管理控制台。

配置用户

    由开发组长联系系统运维添加。 所有用户必须分配virtual host(虚拟主机),只能查看和操作分配给自己的virtual host。 每个项目申请单独的virtual host和用户。 应用用户 适用于应用连接rabbitmq,用户角色为none,不能登陆管理控制台。 关闭配置权限,只能由开发负责人(management用户)来创建exchange和queue。 管理用户 适用于开发人员或管理人员,管理或监控其负责的rabbitmq virtual host。 测试环境: 1、可以对开发负责人开通management、policymaker、monitoring角色 生产环境: 1、由于管理角色有对exchange和queue操作的权限,生产环境默认不分配用户,如有需要,可以为其配置management或monitoring角色,并禁用配置权限和写权限,只保留读权限。 2、生产环境的exchange、queue、policy的配置,需申请运维协助配置,开发人员在申请时,可按照测试环境申请。

rabbitmq 使用规范

特性规范

    队列、路由在创建后,属性不可更改,如有需要,需申请运维协助(建议使用新的队列,旧的队列数据处理完后可以删除)

virtual host的命名规范

项目简称+系统简称+环境 eg: wt_user_pro

交换机和队列的命名规范

    命名规范:容器名称.[队列特点or路由特点].使用的平台名称.作用 @容器名称:queue、exchange @队列特点:非持久化标记(undurable)、延时队列(delay)、优先级队列(priority) @路由特点:direct、topic、fanout、headers @使用的平台名称:user…… @作用:干什么的 eg:消息队列(queue.user.message)、延时消息队列(queue.delay.user.message)、普通路由(exchange.direct.user.common)、通用路由(exchange.direct.user.common)

消息的命名规范

    消息类型根据异常推进机制和实际业务分成三类: 同步调用异常重发机制。此场景发生在客户端同步调用服务端时出现异常,客户端生产消息推送至MQ服务器,自身消费此消息并重发同步接口调用服务端。此场景下生产者和消费者为同一模块。以支付工具调用银行网关1000接口为例,队列名称即为Payt_Bgate1000Request_Payt; 同步返回异步重发机制。此场景发生在客户端同步调用服务端,服务端同步返回响应后同时发送异步通知。服务端推送消息至MQ服务器,由客户端消费该消息并进行业务逻辑处理。以支付工具调用银行网关1000接口,银行网关响应1000消息为例,队列名称即Bgate_Bgate1000Response_Payt。 异步推送机制。此场景为最普通的MQ应用,双方处理能力不对等及处理时效性要求不高场景。以银行网关交易成功后异步通知清分系统为例,消息编号为1000,队列名称即为Bgate_Clr1000Message_Clr。 按照上文所例,消息内容分成三类: 系统简称+接口编号+Request; 系统简称+接口编号+Response; 系统简称+接口编号+Message;
经验分享 程序员 微信小程序 职场和发展