架构设计
架构概览
设计思想
为设计出轻量级,高性能,高可扩的,可满足国产化环境要求的大数据集群管理平台。需满足以下设计要求:
(1)一次编译,处处运行,项目部署仅依赖java环境,无其他系统环境依赖。
(2)DataSophon工作端占用资源少,不占用大数据计算节点资源。
(3)可扩展性高,可通过配置的方式集成托管第三方组件。
Rpc技术选型
管理端与工作端通信选择akka框架。选型依据如下:
(1)Actor并发模型,支持协程,比线程小很多,高并发性能高。
(2)非常轻量的事件驱动处理机制(1GB内存可容纳约270万个Actor)。
(3)可以以jar包形式集成到现有框架,简洁易用,无其他依赖。
(4)具备容错机制,允许在Actor出错时进行一些恢复或者重置操作。
(5)消息传递支持exactly once。
(6)相对于netty,学习成本,使用成本更低。
运维监控技术选型
运维监控技术选择prometheus和Grafana。技术选型依据如下:
(1)强大的数据模型,监控数据以metric{labels}的方式存储在内置的时间序列数据库中。
(2)灵活的查询语句(PromQL)。
(3)监控数据的精细程度高,可以精确到1~5秒的采集程度。
(4)良好的可视化,自带Prometheus UI,可以直接输入PromQL查询监控指标,自动成图,并且支持用grafana进行数据呈现。
(5)支持大量的采集器,其他jmx采集器,使prometheus可轻易获取各大数据组件的服务监控指标。