【问题标题】:Kafka - Real Time Streaming with Web ServiceKafka - 使用 Web 服务进行实时流式传输
【发布时间】:2016-10-03 21:03:16
【问题描述】:
我正在尝试通过 Web 服务流式传输数据并计划将其消耗到 kafka 中。流数据的大小为 4 MB,最大可达 10 MB。数据源 SDK 写入 .Net,Apache Kafka 不为其消费者和生产者提供 DLL。在.Net中编写Kafka生产者和消费者非常典型,我们不能使用github Kafka生产者。
我的问题是 -
- 网络服务是实时流媒体的好选择吗?
- Web 服务是否能够在不影响 Web 服务器性能和数据摄取的情况下传输高达 10MB 的数据?
- 有没有更好的方法来解决这个问题?
用真实来源回答真的会对我有帮助。
谢谢...
【问题讨论】:
标签:
web-services
hadoop
webserver
real-time
apache-kafka
【解决方案1】:
我认为,如果您想将前端与 kafka 或以特定语言编写的 API 分离,那么使用 webservices 是推送流数据的好选择。但这取决于您的用例。
您应该看看 Confluent Distribution (http://docs.confluent.io/2.0.0/kafka-rest/docs/index.html) 提供的开源 Kafka REST 代理。
它将允许您通过网络服务生产/消费消息。
如果您希望推送最大大小为 10MB 的消息,请不要忘记增加以下 kafka 属性(因为默认情况下,kafka 针对 1MB 消息进行了调整)。
- 最大消息字节数
- replica.fetch.max.bytes
- fetch.message.max.bytes(消费者配置)