在上一个讲座中,我们知道经纪人的所作所为以及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实施自己的经纪人。