kafka是一套与昨天的NATS类似的分布式MQ系统,会用这两套也不是想要做差异比较,单纯只是有多一个可以选择的而已,与NATS不同kafka在运行上还有依赖zookeeper,虽然今年释出的kafka 2.8版本可以改为依赖quorum不用zookeeper的运行方式,不过官方也说明不建议使用於生产环境。
kafka的架构主要是broker topic partition replica ,使用者区分为producer和consumer,使用者的角色类似NATS的pub/sub,架构如下
而kafka的producer另外可以带入写入的acknowledgment,确保讯息送到kafka後sync给replicas的机制
acks=0:Producer将不会等待acknowledgment(可能资料遗失) ;
acks=1:为预设值,Producer将等待Leader acknowledgment(限制资料遗失)
acks=all:Leader + replicas acknowledgment (无资料遗失)
而consumer读取资料时,会再需要consumer group订阅topic,一个partition可以提供给多个consumer group收取讯息,但是在一个consumer group内一个partition的讯息只能给一个consumer收,另外要注意如果有新的consumer加入consumer group将会发生rebalance的状况重新分配分区的接收,这段时间是不允许consumer group内的consumer收讯息的喔。
<<: [Day02] TS: 泛型(Generics)能干嘛?
>>: [铁人赛 Day02] 如何提升你的 React 网站易用性?(Web Accessibility)(上)- 无障碍网站 intro
有鉴於我的Macbook pro开unreal engine时,实在是真的卡,所以只好先放着。 ...
毕竟是云端服务,不像自己的电脑打开就能进行开发。 把服务部署到云端上,需要先透过SSH连线到服务器。...
(https://www.manmonthly.com.au/news/graphene-help...
在 Web Component 中有些特别的 css styling 可以设定 , ex : 如果我...
目前已经熟悉了在客体虚拟机内安装作业系统并使用的操作,接着我们开始掌握不同的开关机模式。另外,如何...