ejabberd源码分析及开发系列(1) ejabberd的核心模块

  一个xmpp域是由一个或者多个ejabberd节点来提供服务的。这些节点可以运行在通过网络连接在一起的不同的机器。所有服务于一个xmpp域的ejabberd节点被称为一个集群。

  所有在集群中的节点必须可以通过4369端口去和其他所有的节点相连,同时必须有同样的erlang cookie。这是因为所有的节点需要交换关于连接的用户,S2S 连接,注册的服务等等相关的信息。

  每个ejabberd节点具有以下核心的模块:

  1.router.

  2.local router.

  3.session manager. 这是用于处理客户端和服务器之间的连接。

  4.S2S manager:这是一个服务器到服务器的组件。

  这些核心模块不需要额外的配置就可以运行和提供服务。

  因为ejbberd服务器的可扩展性非常高,绝大部分的特性是通过模块来提供的,那需要通过在配置文件里面启用。

  在接下来的文章,将首先对这几个部分的原理以及源码进行分析,并将提供ejabberd开发的一般方法和过程。

 

posted @ 2016-02-15 15:27  wuguowoniu  阅读(711)  评论(0编辑  收藏  举报