官术网_书友最值得收藏!

  • Learning Apache Apex
  • Thomas Weise Munagala V. Ramanath David Yan Kenneth Knowles
  • 280字
  • 2021-07-02 22:38:38

Low latency and stateful processing

Apex is a native streaming architecture. As previously discussed, this allows processing of events as soon as they arrive without artificial delay, which enables real-time use cases with very low latency. Another important capability is stateful processing. Windowing may require a potentially very large amount of computational state. However, state also needs to be tracked in connectors for correct interaction with external systems. For example, the Apex Kafka connector will keep track of partition offsets as part of its checkpointed state so that it can correctly resume consumption after recovery from failure. Similarly, state is required for reading from files and other sources. For sources that don't allow for replay, it is even necessary to retain all consumed data in the connector until it has been fully processed in the DAG.

Stateful stream processors have what is also referred to as continuous operator model. Operators are initialized once, at launch time. Subsequently, as events are processed one by one, state can be accumulated and held in-memory as long as it is needed for the computation. Access to the memory is fast, which allows for very low latency.

So, what about fault tolerance? The platform is responsible for checkpointing the state. It can do so efficiently and provides everything needed to guarantee that state can be restored and is consistent in the event of failure. Unlike the early days of Apache Storm with per tuple acknowledgement overhead and user responsibility for state handling, the next generation streaming architectures provide fault tolerance mechanisms that do not compromise performance and latency. How Apex solves this, will be covered in detail in Chapter 5Fault Tolerance and Reliability.

主站蜘蛛池模板: 长宁区| 鹤壁市| 榆社县| 宁河县| 墨竹工卡县| 土默特左旗| 将乐县| 哈尔滨市| 周至县| 繁昌县| 通道| 韶关市| 嘉荫县| 海丰县| 类乌齐县| 梧州市| 张家川| 灵川县| 滨州市| 红原县| 夏河县| 舞阳县| 肇州县| 阜宁县| 罗山县| 开平市| 文山县| 屯门区| 循化| 河间市| 鱼台县| 剑阁县| 乡城县| 连南| 巴青县| 当雄县| 祁东县| 安福县| 清流县| 曲水县| 慈溪市|