框架介绍
Flare是广泛投产于腾讯广告后台的现代化C++后台开发框架。
设计关注点主要在于长尾延迟低、接口易用。同时,在不影响长尾延迟的前提下,我们做了大量的架构及微观的性能优化以提升吞吐。
Flare主要包含了基础库、RPC、各种常用网络客户端、单测工具等。通过自底向上的设计将这些融合在了一整套的运行时之中。这一方面提供了更多的优化可能性,一方面也降低了新服务的启动门槛、提升研发效率。
适用场景
我们主要关注通用后台服务的开发场景,这通常意味着:
· 业务形态多样
· 可以容忍一定量的系统(如内核的协议栈)/框架级的性能开销
· 对研发、测试、运维效率有较高的需求
我们不考虑如下场景:
· 极高的性能要求(如DPDK等场景)
· 高度针对性优化(如4层负载均衡等)
功能介绍
Flare具有以下一些特点:
· 基于C++17开发,提供现代化的开发接口;
· 底层使用用户态线程,实现高性能的同步阻塞操作;
· 支持用户态线程之上的Future,实现同步、异步、第三方库等多种异构设计的有机结合;
· 提供了常用的C++基础库、基