技术请教

标题: 微信开源libco:简单易用高性能的协程库_QQ技巧
发布时间 2018-06-12 21:44 浏览数

libco是微信安排大按规格尺寸切割相称的c/c++协程库,2013年直到今天不乱运转在微信安排的数万台机具上。Libco在2013被相称。

腾讯

一号吐艳源码的六点开源发射,we的承认格形式又做了东西大的使回复。,同时性使回复(单击读取主题立即进入)。libco支援安排灵敏的同时性风骨顺序状况,同时供给物

体系

高接着发作机能。

LIBCO支援的奇形怪状

❏   支援CGI组织,轻易地建筑物Web效劳(新)

❏    支援gethostbyname、mysqlclient、SSL和停止共有的的第三个库(新)

❏   可选共享堆栈状况,单机轻易接入数以必定计的衔接(新)

❏    圆房简约的协程顺序连接:

        ▪ 类线连接的设计,用完co_create、co_resume等复杂直言的的连接那就够了结尾协程的创办与回复;

        ▪  类__thread的协程公有变量、协程间符合的协程打旗语co_signal (新)

        ▪ 非边境居民的特殊风习层的LAMBDA取得,合并的协程土生的写信并工具安排异步委派 (新)

        ▪ 本EPOLL/KQUE的小型轻量级网架构,本工夫轮取得的高机能调制器

LIBCO的安排

第一流的微信安排因事情查问复杂欠思索、敏捷迭代和停止需求量的销售需求量,宽宏大量的模块相称半同时性和半异步线圈架。。进入层是异步线圈架。,事情逻辑层是东西同时性多促进或多线线圈架。,事情逻辑的接着发作性要不是几十到几百。。跟随微信事情的开展,为了体系的按规格尺寸切割越来越大。,每个模块都轻易受到后端效劳/网喋喋不休的侵袭。。

异步使辨别的选择

上涨微信安排的接着发作性,普通的办法是对目前的网做成某事承认效劳停止替换。。这种做法有宽宏大量的的工程。,从组织到事情逻辑行为准则,we的承认格形式需求停止彻底的替换。,从容进行和冒险。算是we的承认格形式开端思索相称协程。

❏  但相称协程会表面以下应战:

    1.    业界协程在c/c++境遇下没大按规格尺寸切割相称的感受;

    2.    什么把持协程调整;

    3.   什么处置同时性风骨API行使,如插座、mysqlclient等;

    4.   什么处置目前的的全程变量、线公有变量的相称

最不可能性的,we的承认格形式用完LIBCO处理了前述的承认成绩。,取得了事情逻辑的异步替换。。we的承认格形式相称libco对微信安排

Top