在本文中,作者将借鉴《实现领域驱动设计》的做法,介绍领域驱动设计的基本概念的同时,用一个虚拟的公司和一个虚拟的项目,把领域驱动设计进行落地实践。
Spark 是一个开源的数据处理框架,能快速处理大量数据的转换。其高性能来自Spark的分布式框架,通常一个任务会被平均分配,跨机器集群工作。但Spark本身并不管理这些计算机,他需要一个集群的管理器来管理集群。Spark定义了需要执行的任务,而管理器决定了任务将如何被分配被执行,由此可见其重要性。这个管理器需要负责任务的接收、资源的调度和分配、任务的启动、TaskTrack监控等。 传统上,我们会选择Hadoop YARN来作为资源调度管理器,并且使用spark-submit提交任务。但随着云计算的推广与容器的流行,因其需要依赖于HDFS的本地环境,YARN的部署方式显得捉襟见肘。在技术的递进下,从Spark3.3.1开始正式推出了Kubernetes的资源管理方式,其设计框架与云计算紧密结合,将Spark应用从本地HDFS集群中解耦合,赋予其更多的灵活性。
K8s 通过 Ingress / Gateway API 将网关标准化,逐步将安全网关、流量网关、微服务网关内聚,解决从单体到微服务到云原生多层网关的复杂度,合久必分,分久必合,多层网关已成过去,网关多合一成潮流,成为 K8s 开发者和微服务开发者共同关心的话题。
随着数据量和数据复杂性的不断增加,越来越多的企业开始使用OLAP(联机分析处理)引擎来处理大规模数据并提供即时分析结果。在选择OLAP引擎时,性能是一个非常重要的因素。 因此,本文将使用TPC-DS基准测试的99个查询语句来对比开源的ClickHouse、Doris、Presto以及ByConity这4个OLAP引擎的性能表现,以便为企业选择合适的OLAP引擎提供参考。