今天继续更新austin项目,如果还没看过该系列的同学可以点开我的历史文章回顾下,在看的过程中不要忘记了点赞哟!建议不要漏了或者跳着看,不然这篇就看不懂了,之前写过的知识点和业务我就不再赘述啦。
今天要实现的是handler
模块的消费数据隔离。在聊这个之前,先看下之前的实现是怎么样的。
austin-api
接收到了请求之后,将请求发往Kafka
,topicName为austin
。而在austin-handler
起了一个groupName名为austinGroup
监听austin
这个topic的数据,进而实现消息发送。
从系统架构来说,austin项目是可以发送多种类型消息的:短信、微信小程序、邮件等等等
那如果是单个topic单个group的话,有没有想过一个问题:如果某个发送渠道接口存在异常,超时了,此时会怎么样?
没错,消息都会堵住,因为它们消费同一个topic,用的是同一个消费者。
01、数据隔离
要破局?很简单。多topic多group就行啦。