现在主流的PIM都需要强劲的服务器,而且不是一台两台.虽然客户端之间都尽量直接通信,但是服务器的压力还是很大.如果利用Client兼职服务器,会不会缓解很大的压力呢?
这个想法和dotgameframework中的游戏想法类似.是一个松散的组织,但是充分发挥每个客户端的能力.
client能兼职服务器吗?通常PIM消息只有很小的数据量,而且最快也不过几秒一个.那么一台server能负担多少客户端呢?100个也不会占用多少带宽吧?
那么一个client上线后,信息怎么发到对方呢?
先看看DNS查找,电脑会向欲设的DNS服务器询问,abc.efg是谁?DNS服务器会先看看自己的缓存里面有没有,没有的话会向它的上家去问,问到了再告诉客户端.这里有个弊端,这个DNS服务器如果很出名的话,他的访问压力会很大,而且如果它不在线了,客户端就傻了.所以一般电脑里面会有两个DNS服务器或者更多.而且必需要保证其中一个可用.
那么一个p2p的PIM应该问谁找人呢?还是需要有几个中心服务器A1,A2,A3,不过这个A级服务器职位很高,不懈于这种小问题,会指导你说:去找部门经理B1,B2,B3问问.随便找到一个在线的B级服务器,它又告诉你,去找他的下级,这样找到某级之后,到了办事员N级,N会告诉你,我手头刚好掌握这个家伙的资料,他的IP是xxx.xxx.xxx.
从上面看的,办事员级别N需要掌握自己负责的小区用户,一个小区会有多个办事员,一个用户有什么事情,比如上线下线离线要跟每个办事员打招呼,让他们知道自己的状态.办事员会下班,而刚上班的办事员会跟同事弄清楚情况.同时向上级报告,我上班了.
办事员之间也会互通消息,以确保消息的准确即时.
每个级别管事的都会下班,所以通常客户要备些常用的各级联系人,一个不在找别人.找到一个在的他会告诉你他上级们的联系方法,然后向上或者向下顺藤摸瓜.
这个想法和dotgameframework中的游戏想法类似.是一个松散的组织,但是充分发挥每个客户端的能力.
client能兼职服务器吗?通常PIM消息只有很小的数据量,而且最快也不过几秒一个.那么一台server能负担多少客户端呢?100个也不会占用多少带宽吧?
那么一个client上线后,信息怎么发到对方呢?
先看看DNS查找,电脑会向欲设的DNS服务器询问,abc.efg是谁?DNS服务器会先看看自己的缓存里面有没有,没有的话会向它的上家去问,问到了再告诉客户端.这里有个弊端,这个DNS服务器如果很出名的话,他的访问压力会很大,而且如果它不在线了,客户端就傻了.所以一般电脑里面会有两个DNS服务器或者更多.而且必需要保证其中一个可用.
那么一个p2p的PIM应该问谁找人呢?还是需要有几个中心服务器A1,A2,A3,不过这个A级服务器职位很高,不懈于这种小问题,会指导你说:去找部门经理B1,B2,B3问问.随便找到一个在线的B级服务器,它又告诉你,去找他的下级,这样找到某级之后,到了办事员N级,N会告诉你,我手头刚好掌握这个家伙的资料,他的IP是xxx.xxx.xxx.
从上面看的,办事员级别N需要掌握自己负责的小区用户,一个小区会有多个办事员,一个用户有什么事情,比如上线下线离线要跟每个办事员打招呼,让他们知道自己的状态.办事员会下班,而刚上班的办事员会跟同事弄清楚情况.同时向上级报告,我上班了.
办事员之间也会互通消息,以确保消息的准确即时.
每个级别管事的都会下班,所以通常客户要备些常用的各级联系人,一个不在找别人.找到一个在的他会告诉你他上级们的联系方法,然后向上或者向下顺藤摸瓜.