• Ejabberd源码解析前奏--概述


    一、绪论         

            Ejabberd是一个用Erlang/OTP写的开源即时通讯服务器,其是跨平台、分布式、容错且基于开放标准的实时通讯系统。Ejabberd是一个功能丰富的XMPP服务器,同时适合小规模和超大估摸部署,无论是否需要可伸缩性。

    二、关键功能

    1、跨平台

            Ejabberd可以运行在Microsoft Windows和类Unix系统,例如Linux、FreeBSD和NetBSD。

    2、分布式

            可以在一个集群的机器上运行Ejabberd,并且所有的机器都服务于同一个或一些Jabbe域,当你需要更大容量的时候,你可以简单地增加一个廉价节点到集群里, 因此,不需要买一个昂贵的高端机器来支持上万个并发用户。

    3、容错

            可以布署一个Ejabberd集群,这样一个正常运行的服务的所有必需信息将被复制到所有节点. 这意味着如果其中一个节点崩溃了, 其它节点将无中断的继续运行. 另外, 也可以‘不停机’增加或更换节点。

    4、易于管理

            Ejabberd建立于开源的Erlang,所以不需要安装外部服数据库、外部web服务器, 除此以外,因为每个东西都已经包含在里面且处于开箱可用状态. 其管理上的好处包括:

            (1)详尽的文档;

            (2)便捷的安装程序,包括在Linux、Mac OS X以及Windows系统下;

            (3)Web管理;

            (4)共享名册组;

            (5)命令行管理工具;

            (6)可外部集成的验证机制;

            (7)发送匿名消息的能力。

    5、国际化

            Ejabberd领导国际化,非常适合全球化,相关功能包括:

            (1)翻译成25种语言;

            (2)支持IDNA

    6、开放标准

            Ejabberd是一个完全支持XMPP标准的开源Jabber服务器:

            (1)完全兼容XMPP;

            (2)基于XML的协议;

            (3)支持的协议很多。

    三、额外功能

    1、模块化

            (1)只装载你想要的模块;

            (2)用自定义模块扩展Ejabberd。

    2、安全性

            (1)支持c2s和s2s连接的SASL和STARTTLS;

            (2)支持s2s连接的STARTTLS和Dialback;

            (3)通过HTTPS安全访问进行Web管理。

    3、数据库

            (1)快速布署的内部数据库(Mnesia);

            (2)原生的MySQL支持;

            (3)原生的PostgreSQL支持;

            (4)支持ODBC数据存储;

            (5)支持Microsoft SQL Server。

    4、验证

            (1)内部验证;

            (2)PAM、LDAP 和 ODBC;

            (3)外部验证脚本。

    5、其他

            (1)支持虚拟主机;

            (2)XML流压缩 (XEP-0138);

            (3)统计 (XEP-0039);

            (4)支持IPv6的c2s和s2s连接;

            (5)支持集群和HTML日志的多用户聊天模块;

            (6)基于用户vCards的用户目录;

            (7)支持基于PubSub的个人事件发行-订阅组件;

            (8)支持web客户端: HTTP轮询HTTP绑定(BOSH)服务;

            (9)IRC网关;

            (10)组件支持:安装特定网关之后和外部网络的接口,如 AIM, ICQ 和 MSN。

            别看上面列的功能多,实际使用中你会发现都很好用

  • 相关阅读:
    一个不错的谈架构的链接
    监控报警平台设计思路
    从数据库到NoSQL思路整理
    大数据流式计算:关键技术及系统实例
    接口和类
    学习的逻辑
    [kuangbin带你飞]专题五 并查集 J
    [kuangbin带你飞]专题五 并查集 E
    [kuangbin带你飞]专题五 并查集 D
    [kuangbin带你飞]专题五 并查集 C
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4595917.html
Copyright © 2020-2023  润新知