我正在尝试通过web服务传输数据,并计划将其消费到kafka中。流数据的大小为4MB,最大可达10MB。数据源sdk是写在.net上的,ApacheKafka没有为其使用者和生产者提供dll。在.net中编写kafka生产者和消费者是非常典型的,我们不能使用github-kafka生产者。
我的问题是-
web服务是实时流媒体的好选择吗?
web服务是否能够在不影响web服务器性能和数据接收的情况下流式传输高达10mb的数据?
有没有更好的办法来解决这个问题?
有真实来源的答案对我很有帮助。
谢谢。。。
1条答案
按热度按时间a14dhokn1#
我认为,如果您想将前端与kafka或编写成特定语言的api分离,那么使用webservices是推送流数据的一个好选择。但这取决于您的用例。
您应该看看confluent发行版提供的开源kafka rest代理(http://docs.confluent.io/2.0.0/kafka-rest/docs/index.html).
它将允许您通过webservice生成/消费消息。
如果希望推送最大大小为10mb的消息,请不要忘记增加以下kafka属性(因为默认情况下kafka是针对1mb消息进行调优的)。
最大消息字节数
replica.fetch.max.字节
fetch.message.max.bytes(使用者配置)