skynet框架 源码分析 一


       本人所看的skynet框架,是云风所写的开源分布式服务器系统。
       说说广泛流传的分布式系统,我觉得最简单的理解就是,一个服务器系统可以开很多进程来完成任务,并且这些进程可以不受地域的限制,同时跑在不同的主机上面(当然也可以跑在同一台主机上),以服务器集群的方式应答各个服务请求,各进程之间通过socket的方式通信。

       我们先从整体结构上来俯视这个框架。
       大体上,该系统是一个actor模式的服务端框架。系统遵循的规则是:客户端或者服务节点发送服务请求到服务系统,服务器系统专门开辟多个工作线程,从一个消息队列中取一组消息,处理其中一个,然后归还。也就是所谓的邮件列表形式,即在一个邮件列表中取一组邮件,该组邮件都来自同一个角色。取出该组邮件中的第一封,并处理其中服务请求。在完处理完毕之后,弹出该邮件,并且将邮件组重新放到邮件列表中,等待下一次处理。这样做的目的,我猜测,作者的初衷应当是想构建一个无锁的消息处理逻辑,达到即可以利用多线程,又可以简化线程之间的临界区域逻辑。
       接下来,假设我们只运行一个进程。那么在进程启动成功后,内部会生成有很多服务的节点,如图所示:

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值