分布式计算框架
介绍
首先,为构建分布式应用,根据应用逻辑、数据使用、辅助功能、生产测试四层环节的需求,应考虑的因素如下:
分布式系统架构设计
数据一致性和可靠性
服务发现与负载均衡
安全性与隐私,部署和运维
分布式追踪和监控
目前构建分布式应用的框架和对应以上每一功能的组件都有很多,按类别主要分为微服务及服务网格框架、集群管理框架、数据存储系统、通信框架及消息中间件、流处理与分布式计算引擎、辅助组件。按类别将常见产品整理如下:
微服务及服务网格辅助组件集合:
微服务框架:Spring Cloud, Apache Dubbo
服务网格框架:Istio, Linkerd
集群管理框架:Kubernetes, Apache ZooKeeper, Helix
数据存储系统:Apache Druid, Kudu, Pinot
通信框架及消息中间件:
Apache: Thrift, RocketMQ, Pulsar
其他:ZeroMQ, RabbitMQ, NATS, Envoy
流处理与分布式计算引擎:
Apache: Kafka, Hadoop, Storm, Flink, Spark, Accumulo, Apex
其他:Dask, Ray, Tensorflow
Apache的分布式组件库可整理如下:

任务
针对流处理与分布式计算引擎进行更为细致的实践,在Apache Hadoop, Spark, Kafka, Flink和Ray中任选一种,完成任务:
Last updated