当前位置: 首页 > 网络应用技术

如何在Go-Micro中实现自定义异步消息系统

时间:2023-03-08 13:30:47 网络应用技术

  在上一个讲座中,我们知道经纪人的所作所为以及Go-Micro的默认实施计划。该HTTP代理作为USAND的默认实施方案是否允许丢失该消息,它将自定义实施计划。根据不同的业务需求,选择一个相对稳定的开源解决方案,例如Kafka,NSQ,RabbitMQ等。它取决于每个人的需求。

  在上一个讲座的结尾,我们还提到可以插入Go-Micro并实现经纪人。原理是定义一组接口方法。就像您的自定义经纪人一样。

  原始参考:从Go-Micro开始学习Go-Micro

  我在另一篇文章中解释了NSQ。那些想知道的人可以经历它。

  让我们简要审查,该工具是一个分布式的真实时间信息平台。默认情况下,新闻不会持久,至少一旦通过,而且新闻是无序的。

  如何部署分布式群集也非常简单。您可以使用Docker部署NSQ群集,然后我们可以使用NSQ在Go-Micro的结构下实现我们的异步消息系统。

  让我们再次回顾一下经纪人界面的组成

  //代理是异步消息的接口用户。

  键入经纪界面{

  init(...选项)错误

  选项()选项

  地址()字符串

  连接()错误

  disconnect()错误

  发布(主题字符串,M *消息,选择... publicansoption)错误

  订阅者(主题字符串,H处理程序,选择...订阅)(订阅者,错误)

  字符串()字符串

  主要方法是初始化初始化,连接连接和断开方法,以及发布发布和订阅订阅方法。

  定义结构

  如何实例我们的NSQBRORK实例?

  您可以在NSQBROKR实例中看到该配置是我们的NSQ连接配置

  然后我们的经纪界面中有初始化的初始方法

  初始化结束后,让我们看一下连接方法

  根据NSQBROKR中的消费者列表,根据我们的NSQBROKR结构中的ADDR创建发布者列表,创建NSQ的消费者。然后,将其配置为基于是否配置为NSQ LookupAddr.NSQD的相关组件。

  关键是要查看如何实现消息的发布和订阅

  取出列表中发布的发布者,然后将编码的消息发布到指定的主题。

  最后一个是订户方法

  在此方法中,我们通过NSQ Config创建NSQ消费者。然后定义NSQ HandlerFunc来处理消费消息。然后您可以连接到NSQ服务以监视新闻。最终创建的订户实例放置在最终创建的订户实例中。NSQBROKR实例中的订户。如果您想知道NSQ消耗如何连接到NSQD服务过程,则可以转到GO-NSQ代码以查看特定过程。

  在这一点上,定制的经纪实施方案出现了,您可以通过Kafka实施自己的经纪人。