apache-kafka - Kafka如何向具体用户发送消息?
问题描述
系统包含用户实体。每个用户都可以按类型获取消息。
如何在 Kafka 中组织这个?我知道,我可以创建主题消息并通过关键用户 ID 存储消息,但如果是百万用户怎么办?百万分区?
解决方案
默认情况下,Kafka 将使用消息键的哈希值,并在分区数上循环消息。如果您有一百万个唯一键值和两个分区,则每个分区将获得 500,000 个键。如果你有 10 个分区,每个分区有 100,000 个键,依此类推。
阅读更多:
- http://kafka.apache.org/25/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html
- https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3
- https://www.youtube.com/watch?v=06iRM1Ghr1k&list=PL5T99fPsK7prvk569_RAbHuBXhEHLar4g&index=2&t=5s
推荐阅读
- idris - Idris 决策程序类型检查极其缓慢,是一个固有的性能问题吗?
- r - 如何在R中的互相关函数上使用apply
- python - 在init中调用实例方法
- php - 如何在 Laravel 中获取销售订单列表(交易)?
- python-3.x - 谷歌 colab 中的 Python 3.5
- c++ - 为使用 libcurl 的应用程序捕获 HTTP/S 流量
- ms-access - MS Access - 通过字段中的值重复表中的记录
- amazon-web-services - 什么是用于 S3 复制配置的 cloudformation 脚本
- django - 从 django 获取用于 chrome 扩展的 CSRF 令牌
- php - 考虑冲突 php5 与 php7.3