来自users@apex.incubator.apache.org的转发
先端利用缓冲服务器进行背压。缓冲区服务器如何在应用程序崩溃时幸存?如果缓冲区服务器本身死了怎么办?Apex是否能保证,当缓冲区服务器恢复时,下游运营商最终会赶上上游运营商?
发布于 2016-04-23 00:34:57
缓冲区服务器是Apex平台中的一种发布子机制,用于在运营商之间传输数据。缓冲器服务器始终与上游操作员生活在同一个容器中(无论容器中有多少操作员,每个容器都有一个缓冲器服务器),并将上游操作员的输出写入缓冲器服务器。当连接流时,当前运算符从上游运算符的缓冲区服务器订阅。
因此,如果操作员失败,则上游操作员的缓冲区服务器将具有所需的数据状态,直到到达公共检查点为止。如果上游操作失败,则其上游操作员的缓冲区服务器具有数据状态等。最后,如果输入运算符失败,没有上游缓冲区服务器,则输入运算符负责重放数据状态。根据外部系统,输入运算符要么依赖外部系统进行重放,要么维护数据状态本身,直到到达公共检查点为止。
如果由于某种原因缓冲区服务器失败,承载缓冲区服务器的容器将失败。因此,集装箱中的所有操作符及其下游操作符都是从最后一个已知的检查点重新部署的。
https://stackoverflow.com/questions/36804819
复制相似问题