【用C实现支持yield/resume的插件服务框架--框架篇】

qq120848369 2013-05-10 10:38:59
加精
下载地址:http://pan.baidu.com/share/link?shareid=470168&uk=2686094642

简单说明:简单做了一个服务端框架demo,粗略实现一下自己的想法,和协程(coroutine)的理念基本相同,有这么几个核心设计要素是我希望通过代码展现出来的:

1,程序性质是一个服务端框架,需要用户编写请求的解析/反序列化函数,之后请求将经过若干预先编写的插件进行处理。(PS:个人精力的关系,插件直接与源码一起编译,而不是.so)。
2,框架支持插件异步化处理,即某个插件在处理某个请求时可以yield,并在异步处理完成后resume恢复后续插件的处理以及后续请求的处理,这与lua coroutine的想法是一样。

框架的目的是:有这么一大类服务,它们的客户端要求严格的请求->应答顺序,比如请求1->2->3,那么服务端也应返回1->2->3,此类服务如果需要支持异步业务逻辑,实在是离不开诸如coroutine此类的思想进行设计解耦,否则难成框架。(对应的另一类服务是通过在请求中携带唯一的ID来关联应答的,此种服务可以很简单的实现各种复杂的异步逻辑)

有兴趣的同学一起讨论一下经验或者问题,暂时还没写比较生动的插件demo,今明两日实现一个proxy插件。
...全文
6688 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Metz 2015-03-31
  • 打赏
  • 举报
回复
引用 3楼qq120848369 的回复:
全新更新Proxy插件demo 05-12: 全新更新proxy插件demo,方便你理解框架的独到之处与思想精髓,测试用的桩程序在test目录。
Metz 2015-03-31
  • 打赏
  • 举报
回复
gknmjtjaaptj 2013-11-06
  • 打赏
  • 举报
回复
吃饭饭就吃饭大概
火狐狸 2013-10-15
  • 打赏
  • 举报
回复
fywindy 2013-08-13
  • 打赏
  • 举报
回复
和国人一起开源吧。楼主一定要写好注释呀!!!
冬天的香山 2013-05-19
  • 打赏
  • 举报
回复
自己做的太浅了
布鲁克斯南南 2013-05-17
  • 打赏
  • 举报
回复
顶一下,版主
u010696890 2013-05-15
  • 打赏
  • 举报
回复
学习!!!!
沉默充电 2013-05-15
  • 打赏
  • 举报
回复
永远不会永远不会永远不会
GOLF_R20 2013-05-15
  • 打赏
  • 举报
回复
hondyboy 2013-05-14
  • 打赏
  • 举报
回复
高手啊 学习了
「已注销」 2013-05-14
  • 打赏
  • 举报
回复
书法大赛的发生地方阿斯发生地方暗室逢灯阿斯蒂芬
snake_xiongyang 2013-05-14
  • 打赏
  • 举报
回复
Github 试下这个吧,我觉得确实很棒的代码托管平台。 免费,易用(不想麻烦直接用Github的客户端),速度快
dfasri 2013-05-13
  • 打赏
  • 举报
回复
这种是TCP的流概念, 框架的话, 建议考虑SCTP的概念, 我也正在研究中
clever101 2013-05-13
  • 打赏
  • 举报
回复
学习一下,以后我也要做一个分布式的服务框架。
qq120848369 2013-05-12
  • 打赏
  • 举报
回复
全新更新Proxy插件demo 05-12: 全新更新proxy插件demo,方便你理解框架的独到之处与思想精髓,测试用的桩程序在test目录。
u010661237 2013-05-12
  • 打赏
  • 举报
回复

18,771

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧