Flare后台服务开发框架
Flare 是广泛投产于腾讯广告后台的现代化 C++ 开发框架,包含了基础库、RPC、各种客户端等。主要特点为易用性强、长尾延迟低。
Flare 是腾讯吸收先前服务框架和业界开源项目及最新研究成果开发的现代化的后台服务开发框架,旨在提供针对目前主流软硬件环境下的易用、高性能、平稳的服务开发能力。
Flare 项目开始于 2019 年,目前广泛应用于腾讯广告的众多后台服务,拥有数以万计的运行实例,在实际生产系统上经受了足够的考验。于 2021 年 5 月开源。
特点
- 现代 C++ 设计风格,广泛采用了 C++11/14/17/2a 的新的语法特性和标准库
- 提供了 M:N 的线程模型的微线程实现Fiber,方便业务开发人员以便利的同步调用语法编写高性能的异步调用代码
- 支持基于消息的流式 RPC支持
- 除了 RPC 外,还提供了一系列便利的基础库,比如字符串、时间日期、编码处理、压缩、加密解密、配置、HTTP 客户端等,方便快速上手开发业务代码
- 提供了灵活的扩充机制。方便支持多种协议、服务发现、负载均衡、监控告警、调用追踪等
- 针对现代体系结构做了大量的优化。比如 NUMA 感知的调度组和对象池、零拷贝缓冲区等
- 高质量的代码。严格遵守 Google C++ 代码规范,测试覆盖率达 80%
- 完善的文档和示例以及调试支持,方便快速上手
系统要求
- Linux 3.10 或以上内核,暂不支持其他操作系统
- x86-64 处理器,也支持 aarch64 及 ppc64le,但是未在生产环境上实际使用过
- GCC 8 或以上版本的编译器
评论