我的消息网关
2019-03-05 本文已影响0人
新时代农民工
在分布式服务架构中,各个系统中存在大量的异步消息交互.这么有效的处理这些信息,是一个值得思考的问题
最简单的方式就是搭个消息中间件集群,比如kafka rabbitmq等消息中间件,让各个业务方自己处理消息的发送和接收.
还有一个比较高级点的方式就是做个消息网关或消息中心来统一处理消息,只需要给业务开发团队一个插件,调用简单的方法就实现消息的发送,通过回调方法接收消息,对于消息的走向不用关心.
举个示例:电商场景
客户购买商品时候需要扣减库存,需要发送通知给客服,又需要发送通知给仓管备货.这个时候我们的系统不用挨个发送消息去通知,挨个通知工作量大,并且这样不灵活也不是订单系统等该做的事情.当然可以说让需要的系统订阅的这些消息自己来处理,这样又有个问题,就是每个系统都来订阅消息,结果拉一堆消息过来,发现就几条是自己需要处理的消息,造成资源的浪费.还有你确定要把消息中间件开放给所有系统?这个时候就是我们的消息网关的意义就凸显出来