对于非即时通讯的处理。。。
1. 即时通讯包括:comet/qq/gtalk/commandchain
2. 非即时通讯包括:email/spider
-----------------------
即时通讯的系统特点:
1. 消息不需要持久,如果用户不在线,则提示发送失败返回。
2. 不需要数据库,全依赖网络+内存数据。
难点:
1. 即使双方在线,信息仍然发生掉线现象(comet)
解决:写一个测试掉线率和性能的系统,要求成功率在99.99%。每10000条,只能掉线1条。
2. 现有的第三方不稳定,例如gltak的在线判断。导致时常发送失败。
解决:自己实现socket的服务器和客户端,内部网络有条件的就不使用第三方的im。
非即时通讯的特点:
1. 无论接收方是否在线,消息一旦被接受,就一定要发送到接收方。因此需要本地持久。
难点:如果是短信息,本地开数据库;如果是email信息,短信息照上,长信息转发到email(email需要解析,删除历史的跟帖)
1. 由于即时通讯存在的问题,导致可能出现掉信息的问题。例如系统以为发送了信息,而实际上对象没有收到。
解决:保证即时通讯的传输。