tigase笔记二 — 杂乱信息

一 几个核心的概念

  • 1.组件 :大的代码块,有独立的IP。c2s connection manager, s2s connection manager, session manager, XEP-0114 – external component connection manager, MUC – multi user char rooms.
  • 2.插件 :小的代码块,无独立的IP,依赖于组件,vCard stanza processing, jabber:iq:register to register new user accounts, presence stanza processing
  • 3.Connector :数据访问的模块,分为两类,用户鉴定连接器和用户数据连接器

1.1 几个主要组件
1.tigase.server.ServerComponent,所有的组件都必须实现的接口
2.tigase.server.MessageReceiver,接受消息的组件,例如session manager、c2s connection manager
3.tigase.conf.Configurable,所有可配置的接口
4.tigase.disco.XMPPService ,必须能响应ServiceDiscovery请求
5.tigase.stats.StatisticsContainer,返回运行时数据的容器

实际开发建议继承使用以下意见封装过的类
1.tigase.server.AbstractMessageReceiver 实现了ServerComponent, MessageReceiver, Configurable and StatisticsContainer。
覆盖abstract void processPacket(Packet packet)方法处理数据。
覆盖boolean addOutPacket(Packet packet)方法返回数据

2.tigase.server.ConnectionManager 继承了AbstractMessageReceiver,这个类涵盖了所有了网络管理,IO等。
若是数据从MessageRouter 来的话,需要覆盖abstract void processPacket(Packet packet)
若是数据从网络请求来的话,那么需要覆盖abstract Queue processSocketData(XMPPIOService serv)

1.2 几个主要插件
所有的插件都是在tigase.xmpp.impl包下,

  • 1.XMPPProcessorIfc 最重要的插件,接受数据并处理返回
  • 2.XMPPPreprocessorIfc 处理数据前插件
  • 3.XMPPPostprocessorIfc 处理数据后插件

1.3 连接器
1.所有的数据是以二进制流传入,具体都在tigase.io下
2.二进制流转化为字符是在tigase.net包下处理
3.字符转化为XML是在tigase.xml下处理。具体XML处理:https://svn.tigase.org/reps/tigase-xmltools/trunk/
4.所有的DOM元素都会包装为tigase.server.Packet 类
二 集群测试
http://www.tigase.org/content/clustering-tests

三 检查系统配置文件
./scripts/tigase.sh check etc/tigase.conf
四 监控
可监控的数据

  • 1.s2c,c2s,BOSH的连接数
  • 2.SM, MR, c2s, s2s, Bosh, MUC and PubSub最近一秒,一分钟,一小时的数据
  • 3.系统使用信息,内存CPU等
  • 4.用户静态数据,多少在线用户,多少注册用户

JMX的配置
–monitoring=jmx:9050,http:9080,snmp:9060

依赖
1.tigase-extras 0.3.0-SNAPSHOT 以后版本
2.jdmkrt.jar

五 一些web请求的最佳实践

  • 1.BOSH (Bidirectional-streams Over Synchronous HTTP)
  • 2.WebSocket (XMPP over WebSocket)

1)BOSH
默认是开启的,端口是5280

2)websocket
websocket的配置,在init.properties中配置:
ws2s/connections/ports[i]=5290,5291
ws2s/connections/5291/socket=ssl
ws2s/connections/5291/type=accept

开启了5290是正常的端口,5291是加密端口

http://www.tigase.org/content/best-practices-connecting-web-browser-tigase-xmpp-server

作者: inter12

在这苦短的人生中,追求点自己的简单快乐

发表评论

电子邮件地址不会被公开。 必填项已用*标注