请问老师这两种queue可以用kafka吗,我的理解是google doc这种case并不需要想聊天系统那么快,但如果太慢的话用户体验也会不好,所以不确定这个情况kafka是不是一个合理选择呢?
这取决于实时性需求以及 Throughput 需求。简单给个范围,Kafka 端到端延迟平均而言也是几毫秒到几十毫秒,P99会到几百毫秒。RabbitMQ 可以在低 Throughput 情况下比 Kafka 延迟显著低。我的观点是 Google Doc 的系统还算实时性要求比较高的,如果经过两个 Queue,一番就算处理,数据库访问,再加 network,用 Kafka 可能平均延迟达到几百毫秒的级别,P99 到秒的级别,不太合适,如果单机 Throughput 要求不高,RabbitMQ 可能更好,当然也可以自己实现。毕竟低延迟不是 Kafka 的强项。
具体可以参考这个 benchmark
1 个赞
请问老师这里outgoing queue是为了流量平稳,incoming也是为了平稳吗?因为document server并不要求operation的时间顺序。
incoming queue 是要维持Update Request的顺序,来允许一个一个轮流处理,算是一种意义上的为了流量平稳。outgoing queue 是为了 Fanout。