暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kafka,什么是真正的解耦

orchome 2018-07-26
1042

今天心情不美丽,放下了手上研究的技术,想跟大家聊2句,关注我肯定不是听我发牢骚的,上点干货。


曾几何时,电脑前,看着视频教程,看老师翻看着英文API,熟练的找着各种资源,羡慕,我何时能跟他一样翻阅各种英文文档,游走在技术之巅。这种感觉套用《电视剧司马懿》的话:“操刀之人”。



如今,我就恬不知耻的称自己是“操刀之人”,技术为我所用,用的也算恰到好处。


真正的解耦


假设一个交易系统,做电话费充值业务。系统分为以下2个步骤处理。

1、扣除用户的钱

2、电话费充值


当第1步处理完成后,往kafka里丢一个消息,用于通知第2步;第2步收到消息并进行话费充值,流程结束。


上面kafka,仅仅是充当了一个异步队列,它的消息是有针对性的发给第2个步骤的


真正的解耦是整个思维的转变,第1步骤,扣完用户的钱后,将订单所有状态发送到kafka,结束,不需要关心谁需要这笔订单。


需要的系统去订阅这个订单,电话费充值系统需要,去订阅,实时对账系统需要,去订阅,清分系统,大数据平台需要,去订阅......


这才是真正的解耦,只需要把自己的最终状态发送给kafka,发送者根本不关心谁是消费者; 需要的进行订阅即可,一笔交易被多个系统同时使用,话费充值平台收取消息进行话费充值,实时对账平台马上就可以进行资金核对,大数据平台也可以拿到做数据分析。


整个庞大的系统变得单纯,松耦合,高效。kafka则成为一个庞大的消息中心,而不仅仅是个异步队列。

文章转载自orchome,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论