问题说明:
- 我有一个不断生产价格的服务器。这段代码是用Java编写的,使用spring引导。我有多个消费者服务器/java程序在不同的系统上运行。谁将使用由第一个生产者服务器产生的价格。
问题:在一毫秒内,我将产生大约300-400个价格(数据)。那么,将连续数据从一个生产者服务器传输到多个消费者服务器的最佳方式是什么?
数据格式:hardly some kbs.
我在谷歌上搜索了一下,得到了一些答案:
- 我可以创建一个kafka生产者,他将产生价格并将在某些主题上发送价格,其他kafka消费者将在同一主题上接收/消费相同的价格。
- 我可以在一个数据库表中写入价格,其他消费者将从同一表中读取价格。
- 我可以使用一些云平台,我将在一些云平台上发布价格,然后从他们的消费者程序中读取价格。
那么我们三个人中哪一个更好,或者如果你有任何其他的架构,请帮助我。
提前感谢。
Go With kafka!
- 使用kafka,你可以通过Load在你的生产者和消费者上独立扩展。在服务器故障转移或部署期间,它将使用"偏移"恢复。如果你计划横向扩展,有一个很好的消费者群体概念。
- 如果你计划使用数据库,你需要解决以下问题:
- 你的消费者需要在预定的时间间隔同步到数据库。
- 你需要一种机制来避免在水平扩展的系统中消耗相同的数据。
- 到底是哪一种云机制?
- 如果作为存储u将得到与2相同的问题