一、目标
参考云风skynet,实现go版本的开源服务器引擎。
二、细节
(一)服务
按服务来拆模块的好处不说了。只说go来的实现方式。go里有channel和goroutine。消息队列和轻量级线程都天然解决了。
(二)服务间的通信
同进程内的服务之间通信,直接往对方channel发消息即可。不同进程里靠各进程自己的harbor服务来转发。harbor服务来负责集群间的通信。
集群里设置一个master服务来做全局的名字服务,主要用于登记和同步集群里各个进程开启的各个服务。所有harbor启动后向master注册自己,master向所有harbor广播同步新加入的这个机器。
(三)组播
经常需要向某几个服务广播一个消息,组播问题。multicast服务来管理组播。
(四)日志
使用glog。
Sheppard Y 2014-03-31 11:09 发表评论