我正在开发一个应用程序,该程序不断向缓冲区添加内容,同时许多读取器独立地从这个缓冲区消费内容(写入一次,多次读取)。起初,我考虑使用Apache Kafka,但由于我更喜欢作为服务的选择,因此开始调查AWS Kinesis Streams + KCL,并且似乎可以使用它们完成这项任务。
基本上,我需要两个功能:排序(所有读取器必须按相同顺序读取事件),并且能够选择从哪个偏移量开始读取缓冲区中的内容。
现在我也在评估Google Cloud Platform。随着我阅读文档,似乎建议使用Google Pub/Sub作为AWS Kinesis Stream的替代品,但是在更详细的层面上,这些产品看起来有很大的区别:
- Kinesis保证分片内的排序,而Pub/Sub的排序是尽力而为; - Kinesis将整个缓冲区(限制为最多7天)提供给读取器,后者可以使用偏移量选择开始读取的位置,而在PubSub中,仅可消费订阅之后的消息。
如果我理解正确,PubSub不能被视为Kinesis的替代品。也许与Google Dataflow一起使用?但我必须承认,我仍然看不出如何做到。
那么,PubSub是Kinesis的替代品吗?如果不是,是否有Google Cloud产品可以满足我的要求?
谢谢!
基本上,我需要两个功能:排序(所有读取器必须按相同顺序读取事件),并且能够选择从哪个偏移量开始读取缓冲区中的内容。
现在我也在评估Google Cloud Platform。随着我阅读文档,似乎建议使用Google Pub/Sub作为AWS Kinesis Stream的替代品,但是在更详细的层面上,这些产品看起来有很大的区别:
- Kinesis保证分片内的排序,而Pub/Sub的排序是尽力而为; - Kinesis将整个缓冲区(限制为最多7天)提供给读取器,后者可以使用偏移量选择开始读取的位置,而在PubSub中,仅可消费订阅之后的消息。
如果我理解正确,PubSub不能被视为Kinesis的替代品。也许与Google Dataflow一起使用?但我必须承认,我仍然看不出如何做到。
那么,PubSub是Kinesis的替代品吗?如果不是,是否有Google Cloud产品可以满足我的要求?
谢谢!