Sheppard Y

keep thinking keep coding.

claw设计草稿

2016-07-12 日更新 
此篇博客已经迁移到新博客,并做行文检查和优化排版:
http://blog.clawz.me/2014/03/31/14-claw-design/

一、目标
     参考云风skynet,实现go版本的开源服务器引擎。
二、细节
(一)服务
     按服务来拆模块的好处不说了。只说go来的实现方式。go里有channel和goroutine。消息队列和轻量级线程都天然解决了。
(二)服务间的通信
     同进程内的服务之间通信,直接往对方channel发消息即可。不同进程里靠各进程自己的harbor服务来转发。harbor服务来负责集群间的通信。
     集群里设置一个master服务来做全局的名字服务,主要用于登记和同步集群里各个进程开启的各个服务。所有harbor启动后向master注册自己,master向所有harbor广播同步新加入的这个机器。
(三)组播
     经常需要向某几个服务广播一个消息,组播问题。multicast服务来管理组播。
(四)日志
     使用glog。
三、已实现的服务
(一)master和harbor
     暂时master做为harbor的中心控制器的。后续会改进,做成harbor之间两两通信,减少对master的单点依赖。
(二)gate
     gate用来做通常的网络监听用。目前的很简单,用户需要向这个服务器注册自己的包解析和处理器。
(三)web
     web负责http的监听,template的加载cache,几个通用函数的提取。
四、ps
     项目地址:https://github.com/yangsf5/claw

posted on 2014-03-31 11:09 Sheppard Y 阅读(889) 评论(0)  编辑 收藏 引用 所属分类: 设计架构开源golangclaw


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2014年3月>
2324252627281
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

留言簿(1)

随笔分类(77)

随笔档案(58)

me

基友

同行

业界前辈

最新随笔

搜索

积分与排名

最新评论

阅读排行榜