点击上方“Github爱好者社区”,选择星标
回复“资料”,获取小编整理的一份资料
今天推荐的这个项目是「Flare 后台服务开发框架」,Flare 是腾讯吸收先前服务框架和业界开源项目及最新研究成果开发的现代化的后台服务开发框架,旨在提供针对目前主流软硬件环境下的易用、高性能、平稳的服务开发能力。
腾讯广告是腾讯公司最重要的业务之一,其后台大量采用 C++ 开发。
Flare 项目开始于 2019 年,目前广泛应用于腾讯广告的众多后台服务,拥有数以万计的运行实例,在实际生产系统上经受了足够的考验。
Flare 特点
现代 C++ 设计风格,广泛采用了 C++11/14/17/2a 的新的语法特性和标准库
提供了 M:N 的线程模型的微线程实现 Fiber,方便业务开发人员以便利的同步调用语法编写高性能的异步调用代码支持基于消息的流式 RPC 支持
除了 RPC 外,还提供了一系列便利的基础库,比如字符串、时间日期、编码处理、压缩、加密解密、配置、HTTP 客户端等,方便快速上手开发业务代码
提供了灵活的扩充机制。方便支持多种协议、服务发现、负载均衡、监控告警、调用追踪等
针对现代体系结构做了大量的优化。比如 NUMA 感知的调度组和对象池、零拷贝缓冲区等
高质量的代码。严格遵守 Google C++ 代码规范,测试覆盖率达 80%
完善的文档和示例以及调试支持,方便快速上手
开始使用
Flare 是开箱即用的,已经自带了所需的第三方库,因此通常不需要额外安装依赖库。只需要在 Linux 下,拉取代码,即可使用。
thirdparty/ 下面的压缩包我们通过 Git LFS 存储,因此在拉取代码之前您需要确保 git-lfs 已经正确的安装了。
性能
由于业务需求的特点,在设计过程中更倾向于优化延迟及抖动的平稳性而非吞吐,但是也在这个前提下尽量保证性能。
出于简单的对比目的,提供了初步的性能数据。
开源项目地址:https://github.com/Tencent/flare
开源项目组织:Tencent
好啦,今天的分享就到这儿啦,我们下次见啦~GitHub原创推荐• 尼玛,Github上最邪恶的开源项目了!未满18或者女孩子勿进哦~• GitHub标星4K+,前字节跳动工程师开源的刷题笔记...• GitHub上这个仿京东电商项目强势开源,前端,后台,数据库等统统都有!• GitHub 开发者自制火星车,教程全面开源!网友:这才是大佬!关注「Github爱好者社区」加星标,每天带你逛Github好玩的项目