大厂C++协作框架(基辅)技术详解

Kiev是大推平台的Linux-C++后台开发框架,专为大规模分布式系统设计,采用CSP并发模型。本文详细介绍了Kiev的RPC框架、服务发现机制、负载均衡策略和过载保护,以及技术选型历程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kiev框架简介

基辅是大推平台目前使用的Linux-C++后台开发框架。由多位资深架构师和资深C++工程师打造,在拥有数千万用户的大型分布式系统push平台上经过近年的测试。现在基辅每天为大推送平台中的数百个服务完成数百亿次RPC调用。

基辅作为一个完整的开发框架,是专门为大规模分布式系统背景而构建的C++开发框架。它由以下组件组成:

  • RPC框架(TCP/UDP)
  • FastCGI框架
  • redis客户端(基于hiredis封装)
  • mysql客户端(基于mysqlclient封装)
  • mongodb客户端
  • 配置中心客户端(Http协议, 基于curl实现)
  • 基于zookeeper的分布式组件(服务发现、负载均衡)
  • 日志模块
  • 状态监控模块
  • 核心模块是一个开源的CSP并发模型协程库(libgo)

并发模型

基辅采用了先进的CSP开发模型的变体(golang就是这样的模型),它继承了libgo。选择这种模式的主要原因是这种模式的开发效率远高于异步回调模式,而且不需要在性能上做任何妥协。本文将对几种常见的模型进行详细的比较。

CSP模型

CSP(Communicating Sequential Process)模型是目前非常流行的并发模型,golang语言采用的并发模型就是CSP模型。在CSP模型中,协作流程与协作流程之间没有直接通信,信息也不像Actor模型那样直接传递给目标协作流程,而是通过一个通道交换数据。

这种设计的好处是通过通道中间层降低了进程间交互的耦合性,同时保证了灵活性,非常适合开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值