2007-10-08

P2P服务中心的开发

Views: 10630 | Add Comments

服务中心需要对 P2P 网络的结构进行管理, 同时提供传统的 C/S 架构中的服务器服务. 在 IM 应用中, 账号服务中心提供包括用户注册, 用户登录, 好友功能, 广告等功能, 也可能将这些功能分开, 对应不只一个服务中心.

服务中心和节点的交互的实现有多种方式:

1. TCP/UDP socket 连接.

直接使用 socket 连接, 可以实现服务中心向节点进行"推"数据. 通信延迟小.

2. 基于 HTTP Web 的"拉"方式.

因为 HTTP 的工作原理, 所以使用本方式, 通信延迟大. 当两个节点要进行通信时, 某一个节点先将数据存放在服务中心, 然后另一个节点再到服务中心取这些数据. 因为节点取数据的周期不可能太小, 太小会对 Web 服务器造成太大的压力, 所以延迟以秒来计算.

比较来说, 我认为基于 HTTP Web 的方式更有优势. 因为 Web 集群技术已经相当成熟. 当 P2P 网络变得庞大时, 可以应用现有的成熟技术来解决服务中心的问题.

另一方面, Web 开发技术多样化和流行. 可以使用 Java/J2EE, .Net, PHP, C/C++ CGI 等技术. 这也表示一旦应用确定或者进行更改, 将非常容易找到开发人员. 所以开发成本可以降低.

单就 IM 应用来说, 账号管理, 好友功能, 群(圈子), 留言, 黑名单, 客户端广告等用 Web 方式来实现都是非常简单的技术.

Related posts:

  1. GUI 的架构设计
  2. 开发一个P2P库
  3. SSDB 现在已经支持 Java 语言了!
  4. SSH ProxyCommand及其思想
  5. 开始学习 Python
Posted by ideawu at 2007-10-08 21:09:52

Leave a Comment