newworld

test 一个服务更像一座城 net 便是城市和外面交互的模块 net.server 是对外开方的城门,可以有多个门,也可以有一个门,有门就需要有管理门的 net.manager就是对门的管理 net.conn 就是对各个城门外修的道路,可以有多条道路通向一个城门 net.client 就是各个路口的收费站 net.msg 就是每个人来城里办事情的事件,走在那条路上就指定了从哪个城门进城

module 便是城市内的服务模块
	module.manager 就是对各个模块的监管部门,想开商户就得来这里注册
	module.mod 就是各个商户了
		各个商户又分不同的服务方式
		1 线性  	所有来这里请求服务的人,都要排队
		2 非线性	所有来的人都是自助模式,不用排队互不影响

	
data 就是城市内对各个人提供的一个托管仓库,不必每次都带着行李来城里,可以直接托管在这里,
	 每次轻装上阵来城里了,需要什么去这里取
	data.manager 就是对每个人的仓库的管理部门
	{
		由模块自动生成
		属于此人的数据都在这个仓库
	}

admin 对整个城市的管控模块
	admin.admin 监管每个 manager, 各个模块的状态都要汇报给admin 
		开启模块,运行模块,关闭模块等控制
		模块问题监控,记录,分析
	各个模块是否安全关闭退出
requst
{
	外部请求服务,通过net 筛选绑定服务
	内部请求服务,通过processor 筛选绑定服务
	{
		所以一个服务注册需要注册到route 和net
	}
	{
		服务接口也由模块自动生成
	}
	
	各个服务有自己的唯一id  本来是uint 类型 ,但是自动注册不太好做
	golang 的map 以 uint 和string 做key 查找耗时 基本是 1:2
	但是1000以内的服务数量,string 做key 查找亿次耗时1秒多,不算是水桶最矮的那块板
	
	外部请求又分
	{
		可信的, 服务器间通信
		不可信的, 客户端发来的请求
		
	}
}