下面是 Pravega 的架构图。左边是一个非常抽象的 stream ,用户通过 Event StreamWriter/Reader 通过 streaming 接口读写数据。右边可以分成两部分,控制面板和数据面板。控制面板负责管理和维护 stream 和 segment,比如 stream 的创建,segment的分配部署,以及 segment 的动态扩展等。数据面板以 segment 为单位管理数据。写入 segment 的数据首先会被写入 Durable Log 实现数据的持久化保护。同时数据也会缓存在 Streaming Cache 中,提供高性能的读取。所有写入的数据在积攒后会通过优化算法打包写入底层可扩展的 Long-term Storage,通过分级存储保存历史数据。这层 Storage 只做数据存储功能,对于历史数据的读取依然通过 Pravega 的 streaming接口提供。数据面板除了通过 segment 来管理用户数据外,也通过 Table segment 管理自己的 metadata 数据。它同样支持动态扩展,避免了很多系统用 zookeeper 存放metadata 是遇到的扩展问题。
以上内容摘自《开源大数据前瞻与应用实战》电子书,点击https://developer.aliyun.com/topic/download?id=1153可下载完成版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。