【发布时间】:2019-11-08 01:15:05
【问题描述】:
我有一个用例,其中许多客户端需要不断向服务器发送大量指标(几乎是永久的)。服务器需要存储这些事件,并在以后处理它们。我不希望服务器对这些事件做出任何响应。
我正在考虑为此使用grpc。最初,我认为客户端流式传输可以做到(like how envoy does),但问题是客户端流式传输无法确保应用程序级别的可靠传递(即,如果流在两者之间关闭,则发送的消息数量实际上是由服务器),我买不起。
我的想法是,我应该使用双向流,在服务器流中使用 acks,或者使用多个一元 rpc 调用(可能在重复字段中对事件进行一些批处理以提高性能)。
哪个会更好?
【问题讨论】: