开源公告|现代化C++后台开发框架Flare开源,助力研发效率提升

2021-05-31 12:10:06 浏览数 (1)

框架介绍

Flare是广泛投产于腾讯广告后台的现代化C 后台开发框架。

设计关注点主要在于长尾延迟低、接口易用。同时,在不影响长尾延迟的前提下,我们做了大量的架构及微观的性能优化以提升吞吐。

Flare主要包含了基础库、RPC、各种常用网络客户端、单测工具等。通过自底向上的设计将这些融合在了一整套的运行时之中。这一方面提供了更多的优化可能性,一方面也降低了新服务的启动门槛、提升研发效率。

适用场景

我们主要关注通用后台服务的开发场景,这通常意味着:

· 业务形态多样

· 可以容忍一定量的系统(如内核的协议栈)/框架级的性能开销

· 对研发、测试、运维效率有较高的需求

我们不考虑如下场景:

· 极高的性能要求(如DPDK等场景)

· 高度针对性优化(如4层负载均衡等)

功能介绍

Flare具有以下一些特点:

· 基于C 17开发,提供现代化的开发接口;

· 底层使用用户态线程,实现高性能的同步阻塞操作;

· 支持用户态线程之上的Future,实现同步、异步、第三方库等多种异构设计的有机结合;

· 提供了常用的C 基础库、基于Protocol Buffers的RPC框架、支持HTTP/2的客户端、腾讯云COS客户端、Redis客户端等;

· 通过动态类注册机制支持多种RPC协议、RPC调用追踪、监控上报、配置中心、名字解析等;

· RPC支持一问一答、单向流式、双向流式多种模式;

· 针对单测提供了各种内置的客户端的MOCK支持;

· 支持x86(主要)/AArch64/ppc64le多种ISA;

开源获取

?Github地址:https://github.com/Tencent/Flare

https://github.com/Tencent 

(点击文末阅读原文直接访问)

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source

(登录后才能访问公开项目)

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

关注腾讯开源公众号

获取更多最新腾讯官方开源信息!

0 人点赞