网络编程
zimengyu2020
这个作者很懒,什么都没留下…
展开
-
[网络编程]六大Web负载均衡原理与实现
转载自:https://blog.csdn.net/asqi1/article/details/41478111“均衡”的含义不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。1. HTTP重定向...转载 2018-04-24 15:07:29 · 168 阅读 · 0 评论 -
[网络编程]微信协程库libco研究:hook系统函数
转载自:https://segmentfault.com/a/1190000012561446最近花了一些时间研究微信的协程库libco,libco是微信后台大规模使用的c/c++协程库。库里面提供了socket族函数的hook,使得后台逻辑服务几乎不用修改逻辑代码就可以完成异步化改造,号称单机可以达到千万连接。有关libco库的具体实现原理后续有时间再讨论,本文先讨论微信团队实现对socket族函转载 2018-05-06 19:45:08 · 846 阅读 · 0 评论 -
[网络编程]微信协程库libco研究(二):协程的实现和管理
前面的文章Hook系统函数 中介绍了微信使用的协程库libco,用于改造原有同步系统,利用协程实现系统的异步化,以支撑更大的并发,抵抗网络抖动带来的影响,同时代码层面更加简洁。 libco库通过仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll,可以支持同步或者异步的写法,如线程库一样轻松。同时库里面提供了socket族函数的hook,使得后台逻...转载 2018-05-06 21:11:16 · 407 阅读 · 0 评论 -
[网络编程]微信协程库libco研究(三):协程的事件管理
转载自:https://segmentfault.com/a/1190000012834756 前面的两篇文章中介绍了微信的libco库如何hook系统函数和协程的创建和管理,本篇文章将介绍libco库是进行事件管理的。 libco库使用一种类似时间片的技术进行轮询,使得每个注册在其上的事件都有机会执行。1. 基础数据结构在上一篇文章中介绍stCoRoutineEnv_t时,我们将st...转载 2018-05-06 22:05:18 · 396 阅读 · 0 评论