滴滴如何基于开源引擎,打造自主可控服务体系

本文作者:张亮 滴滴云-商业数据 负责人

2014年加入滴滴,负责过LogAgent、Kafka、ElasticSearch、OLAP的引擎建设工作,具有丰富的高并发、高吞吐场景的架构设计与研发经验,主持构建过任务调度系统、监控系统、日志服务、实时计算、同步中心等数据体系的平台设计与研发工作。

一、分享背景

在滴滴负责过LogAgent、Kafka、Flink、Elasticsearch、Clickhouse等开源大数据引擎服务体系建设工作,走过很多弯路,趟过很多坑,积累了一些实战经验;近年疫情肆虐,加速了企业数字化转型的步伐,与数十家互联网、金融、证券、教育企业进行了深度交流,大家对基于开源数据引擎建设自主、可控、安全的服务体系有强烈诉求,常见的困惑是如何基于开源引擎,结合企业特点与发展阶段,进行高ROI的服务体系建设。 

二、建设实践

滴滴基于开源引擎搭建大数据基础设施,始于数据驱动业务运营与商业决策的BI需求,随着实时数据流量达到百MB/S,存储达到PB级,开源数据引擎的服务运营会遇到各种各样的稳定性、易用性、运维友好性挑战。经历了四个阶段:引擎体验期、引擎发展期、引擎突破期、引擎治理期,不同阶段遇到的痛点问题与服务挑战各不相同:

  • 引擎体验期:伴随业务快速发展,引擎的选择、版本的选择,机型的选择、部署架构的设计,复盘来看是早期稳定性工作的关键抓手。 
  • 引擎发展期:随着引擎用户规模的增长,日常运营过程中的问题答疑、最佳实践落地、线上问题诊断消耗团队60%+的精力,亟需大数据PaaS层建设,降低用户引擎技术学习、应用、运维门槛,提升用户自助服务能力。
  • 引擎突破期:随着集群规模的膨胀、业务场景的多元,势必触碰开源引擎的能力边界,亟需构建基于开源引擎的内部迭代机制,既需要与开源社区紧密协同,平滑版本升级,享受社区的技术红利,又需要在开源引擎的基础上进行BUG FIX与企业特性增强。
  • 引擎治理期:随着PaaS平台的构建,引擎版本的快速迭代,会衍生三大类问题:未区分SLA场景的混用、超出引擎能力边界的误用、没有成本意识的滥用。导致引擎服务口碑低、资源(机器+人力)ROI业务价值低,亟需基于元数据驱动的引擎治理体系建设。

 

1、引擎体验期

解决特定技术问题的开源引擎众多,比如消息队列有Kafka、Pulsar、RocketMQ等,技术选型对于服务的SLA、运维保障至关重要,严重影响幸福感与价值感。 

1)引擎选择

要综合考虑社区的Star数、Contributor数,国内是否有PMC或Committer;应用的广泛度,有无众多大厂生产实践背书,线下Meetup是否频繁,线上问题答疑响应速度,线上最佳实践资料是否丰富,部署架构是否放精简等多种因素。

2)机型选择

业务从应用场景上可以分为IOPS场景与TPS场景,开源引擎可以分为CPU密集型、IO密集型、混合型。以分布式搜索引擎Elasticsearch为例,企业级搜索场景,随机IO频繁,对磁盘的IOPS能力要求高,SSD磁盘是刚需;CPU消耗需要根据查询复杂度、QPS来评估此业务场景对CPU的诉求;推荐的做法是模拟业务场景做BenchMark,摸底引擎在特定场景下的性能表现,为机型选择提供依据,下图是滴滴Elasticsearch引擎在做机型选择时的压测验证:

基于引擎原理与业内最佳实践建议,结合应用场景与压测结果,根据当下可选机型做选择,理想状态是CPU、磁盘容量、网络IO、磁盘IO资源均衡使用,尽量让CPU成为瓶颈。另外随着引擎的不断优化,软硬件基础设施的发展,机器过保置换是常态,最佳机型选择是一个动态演进的过程,滴滴运维保障团队2020年进行了新一轮机型优化与场景的调优,Elasticsearch日志集群成本降低了一半,CPU峰值平均利用率达到了50%。

3)部署选择

以Elasticsearch为例,最小高可用部署集群是3个节点,单节点承担Master Node、Client Node、 Data Node三种角色。一般3到5个节点集群规模影响不大,一旦到几十个节点,写入吞吐量达到百MB/S,节点网络处理线程池、内存资源竞争突显,元数据处理与索引数据处理资源未隔离,会导致集群元信息出现同步性能或一致性问题,进而诱发集群不可用,所以达到了一定体量后,需要考虑分角色部署。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RISC-V芯片自主可控的新机遇,是指基于RISC-V架构的芯片具有自主可控的特点,为各行各业带来了新的发展机遇。RISC-V是一种开源的指令集架构,相比于传统的封闭指令集架构,它更加灵活、可定制化,并且可以根据需求进行自主设计和开发。 首先,RISC-V芯片的自主可控性为企业在研发过程中提供了更大的自由度。传统的芯片设计通常需要购买授权或者使用第三方的指令集,而RISC-V的开源特性使得企业可以自主控制整个设计过程,可以根据自身需求进行指令集的定制和优化,从而更好地适应不同应用场景的需求。 其次,RISC-V芯片的自主可控性为创新提供了更加广阔的空间。开放的RISC-V指令集架构为创新者提供了一个广阔的平台,可以自由地进行实验、测试和创新,加速技术的进步和突破。各行业的创新者可以根据自身需求开发各种自定义的功能和特性,从而推动行业的发展和创新。 再者,RISC-V芯片的自主可控性为安全提供了更高的保障。在传统的商业闭源模式下,用户很难获得对芯片的全面控制和了解,也无法检验是否存在潜在的安全问题。而RISC-V芯片的开源特性使得用户可以直接查看其设计和实现,增加了透明度和可靠性,提高了安全性。 最后,RISC-V芯片的自主可控性为产业生态的建设提供了更好的支持。通过RISC-V的开源特性,各个环节的参与者可以更方便地参与到芯片设计和开发中来,促进了产业间的合作与交流,形成了完整的产业链和生态系统。 综上所述,RISC-V芯片的自主可控性为各行各业带来了新的机遇。无论是企业的自主研发能力、创新能力,还是安全性、产业生态的支持能力,都得到了进一步的提升和拓展,助力着各行各业的发展和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值