当前位置: 首页 > news >正文

建立网站域名的费用阳泉网站设计

建立网站域名的费用,阳泉网站设计,wordpress主题 自适应,网站安全狗 服务名在 RabbitMQ 中#xff0c;使用 Topic Exchange 模式时#xff0c;交换机、队列和路由键的命名规范是非常重要的#xff0c;尤其是在多环境和多微服务的场景中。合理的命名规范可以提高消息系统的可维护性、可扩展性以及可读性。以下是一些关于 Topic Exchange 模式中交换机…在 RabbitMQ 中使用 Topic Exchange 模式时交换机、队列和路由键的命名规范是非常重要的尤其是在多环境和多微服务的场景中。合理的命名规范可以提高消息系统的可维护性、可扩展性以及可读性。以下是一些关于 Topic Exchange 模式中交换机、队列、和路由键的命名规范建议 1. 交换机 (Exchange) 命名规范 交换机用于路由消息到合适的队列。在 Topic Exchange 中交换机的命名应清晰地反映其用途或消息流的目的。 命名格式service.component.exchangeType service服务或系统的名称例如order, payment, shipping。component表示消息流的具体功能组件例如event, notification。exchangeTypetopic 或其他类型虽然 topic 是默认值但可以在命名时加上明确区分。 示例 order.event.topic表示 order 服务的事件交换机。payment.notification.topic表示 payment 服务的通知交换机。shipping.event.topic表示 shipping 服务的事件交换机。 2. 队列 (Queue) 命名规范 队列的命名通常与业务功能和服务的使用场景密切相关。队列应该根据其用途、功能模块以及所接收的消息类型来命名。 命名格式service.component.queueType service服务名称。component队列的具体功能例如order, payment, shipping。queueType队列的类型或消息的具体内容如 incoming, outgoing, retry或者使用 consumer 或 producer 来区分消费方和生产方。 示例 order.event.incoming表示消费来自 order 服务的事件的队列。payment.notification.outgoing表示 payment 服务通知消息的输出队列。shipping.event.consumer表示 shipping 服务消费者队列。 3. 路由键 (Routing Key) 命名规范 路由键是将消息路由到合适队列的关键它的命名方式可以通过使用不同的层级来分类消息。Topic Exchange 使用通配符 (* 和 #) 来匹配不同层级的路由键因此需要注意设计路由键的层级。 命名格式service.messageType.action.subaction service消息所属的服务名称。messageType消息的类型例如order, payment, shipping。action消息代表的业务操作例如created, updated, deleted。subaction可选的额外细分例如failed, success具体业务操作的进一步细化。 路由键的命名约定 使用点 (.) 分隔不同的层级。使用 * 通配符来匹配一个层级。使用 # 通配符来匹配多个层级。 示例 order.created用于表示订单创建事件。order.created.success用于表示订单创建成功事件。order.created.failed用于表示订单创建失败事件。payment.completed用于表示支付完成事件。payment.updated.retry表示支付更新并需要重试的事件。 4. 示例完整配置 假设你有一个系统其中包含 order 服务、payment 服务和 shipping 服务。使用 Topic Exchange 模式你的配置可以类似于 Exchange 配置 Bean public Exchange orderEventExchange() {return new TopicExchange(order.event.topic); }Bean public Exchange paymentNotificationExchange() {return new TopicExchange(payment.notification.topic); }Bean public Exchange shippingEventExchange() {return new TopicExchange(shipping.event.topic); } Queue 配置 Bean public Queue orderEventQueue() {return new Queue(order.event.incoming); }Bean public Queue paymentNotificationQueue() {return new Queue(payment.notification.outgoing); }Bean public Queue shippingEventQueue() {return new Queue(shipping.event.consumer); } Binding 配置 Bean public Binding orderEventBinding(Queue orderEventQueue, TopicExchange orderEventExchange) {return BindingBuilder.bind(orderEventQueue).to(orderEventExchange).with(order.*); }Bean public Binding paymentNotificationBinding(Queue paymentNotificationQueue, TopicExchange paymentNotificationExchange) {return BindingBuilder.bind(paymentNotificationQueue).to(paymentNotificationExchange).with(payment.*.completed); }Bean public Binding shippingEventBinding(Queue shippingEventQueue, TopicExchange shippingEventExchange) {return BindingBuilder.bind(shippingEventQueue).to(shippingEventExchange).with(shipping.*); } 消息转换器 Beanpublic Jackson2JsonMessageConverter jackson2JsonMessageConverter() {return new Jackson2JsonMessageConverter();}Beanpublic RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory,Jackson2JsonMessageConverter jackson2JsonMessageConverter) {RabbitTemplate rabbitTemplate new RabbitTemplate(connectionFactory);rabbitTemplate.setMessageConverter(jackson2JsonMessageConverter);return rabbitTemplate;}消息发送示例 Autowired private RabbitTemplate rabbitTemplate;public void sendOrderCreatedEvent(OrderCreatedEvent event) {rabbitTemplate.convertAndSend(order.event.topic, order.created, event); }public void sendPaymentCompletedEvent(PaymentCompletedEvent event) {rabbitTemplate.convertAndSend(payment.notification.topic, payment.completed, event); }public void sendShippingEvent(ShippingEvent event) {rabbitTemplate.convertAndSend(shipping.event.topic, shipping.created, event); } 5. 命名规范总结 Exchange 命名应明确服务和消息类型保持一致性。推荐使用 service.event.topic 格式。Queue 命名应清晰地描述队列用途区分消费和生产者。推荐使用 service.component.type 格式。Routing Key 命名应采用清晰的层级结构利用通配符 * 和 # 做路由匹配。推荐使用 service.messageType.action 格式。
http://www.hkea.cn/news/14480594/

相关文章:

  • 中国建设银行官方网站下载安装山东汽车行业网站开发
  • 网站介绍ppt怎么做成都网站seo技巧
  • 服装厂网站模板云主机 免费
  • 网站模块图学校的网站的代码模板
  • 重点建设专业 专题网站莱芜话题 莱芜在线
  • 宿迁做百度网站地点电子商务商城网站建设
  • 蓝科企业网站系统网站内移动的图片怎么做的
  • 专做国际时事评论网站艺术字体在线生成器英文
  • 容桂营销网站建设南通做企业网站
  • 北京网站制作人才wordpress插件一键
  • 北京做网站制作的公司深圳网络推广公司天涯问答
  • 网站名称和域名不一致logo做ppt模板下载网站
  • 网站恶意攻击wordpress的主题修改
  • 国外网站后台模板定制平台有哪些
  • 招聘网站比对表怎么做网站迁移后 后台进不去
  • 辽阳专业网站建设品牌有哪些做红色旅游景点的网站
  • 做门户网站的框架医院门户网站制作
  • 厂房装修东莞网站建设济南网站建设方案案例展示
  • 多新闻怎么做扁平网站外包类设计网站
  • 小白如何建设网站浙江建筑协会网站
  • 网站建设关键要做好哪些工作樱花大黄云服务器
  • 怎么建立自己的网站卖东西在线crm系统价格
  • 小说网站排名前十icp备案查询系统官网
  • 富国基金公司网站wordpress 在文章前面加序号
  • 广州h5网站网页设计图片切换
  • 胶州网站建设哪里有帮网站做关键词排名优化
  • 网站建站行业公司主页建设网站推广关键词
  • 男孩子和男孩子在一起怎么做网站网站建设与管理学的是什么
  • 门户网站系统有哪些平台芜湖新芜湖网站建设
  • 如何做exo网站广州网站改版设计制作