tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务-哇谷即时通讯源码

tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务
哇谷即时通讯IM云-即时通讯源码-音视频会议-直播-短视频-企业即时通讯办公-聊天app-通讯服务-IM私有化部署-IM源码-通讯源码-哇谷IM-哇谷云

Server(c2s+s2s+sm+ext2s)集群+MUC(comp)集群
Server1(hostname: vm-128-157)配置
–debug = server,cluster,xmpp.impl

–virt-hosts = xmpp.dev.pajkdc.com

–user-db-uri = jdbc:mysql://10.0.128.115:3307/tigase?user=pajk&password=qawsed123

–user-db = mysql

–admins = admin@xmpp.dev.pajkdc.com

config-type = --gen-config-def

–cluster-mode = true

–cluster-connect-all = true

–cluster-nodes=vm-128-157:yangguo:5277,vm-128-158:yangguo:5277

–sm-plugins =-starttls,+urn:ietf:params:xml:ns:messageConsumeACK,+urn:ietf:params:xml:ns:xmpp-user,-message-archive-xep-0136,-jabber:iq:register,-presence,-http://jabber.org/protocol/stats,-vcard-temp,-jabber:iq:roster,-pep

–comp-name-1 = ext

–comp-class-1 = tigase.server.ext.ComponentProtocol

–external = muc.xmpp.dev.pajkdc.com:yangguo:listen:5270:vm-128-157🉑ReceiverBareJidLB

–auth-domain-repo-pool=com.pajk.im.repository.ExtraAuthRepositoryMDImpl

–user-domain-repo-pool=com.pajk.im.repository.ExtraUserRepositoryMDImpl

–comp-name-2 = ChannelMsgExtComponent

–comp-class-2 = com.pajk.im.cmp.ChannelMsgExtComponent

–cm-ht-traffic-throttling = xmpp:250k:0:disc,bin:1024m:0:disc

–cm-traffic-throttling=xmpp:2500:0:disc,bin:10m:0:disc

–new-connections-throttling=5222:500,5223:50,5269:100,5280:1000,5290:100

–net-buff-high-throughput=256k

Server2(hostname: vm-128-158)配置
–debug = server,cluster,xmpp.impl

–virt-hosts = xmpp.dev.pajkdc.com

–user-db-uri = jdbc:mysql://10.0.128.115:3307/tigase?user=pajk&password=qawsed123

–user-db = mysql

–admins = admin@xmpp.dev.pajkdc.com

config-type = --gen-config-def

–cluster-mode = true

–cluster-connect-all = true

–cluster-nodes=vm-128-157:yangguo:5277,vm-128-158:yangguo:5277

–sm-plugins =-starttls,+urn:ietf:params:xml:ns:messageConsumeACK,+urn:ietf:params:xml:ns:xmpp-user,-message-archive-xep-0136,-jabber:iq:register,-presence,-http://jabber.org/protocol/stats,-vcard-temp,-jabber:iq:roster,-pep

–comp-name-1 = ext

–comp-class-1 = tigase.server.ext.ComponentProtocol

–external = muc.xmpp.dev.pajkdc.com:yangguo:listen:5270:vm-128-158🉑ReceiverBareJidLB

–auth-domain-repo-pool=com.pajk.im.repository.ExtraAuthRepositoryMDImpl

–user-domain-repo-pool=com.pajk.im.repository.ExtraUserRepositoryMDImpl

–comp-name-2 = ChannelMsgExtComponent

–comp-class-2 = com.pajk.im.cmp.ChannelMsgExtComponent

–cm-ht-traffic-throttling = xmpp:250k:0:disc,bin:1024m:0:disc

–cm-traffic-throttling=xmpp:2500:0:disc,bin:10m:0:disc

–new-connections-throttling=5222:500,5223:50,5269:100,5280:1000,5290:100

–net-buff-high-throughput=256k

muc1配置
config-type = --gen-config-comp

–user-db = mysql

–admins = admin@xmpp.dev.pajkdc.com

–user-db-uri = jdbc:mysql://10.0.128.115:3307/tigase?user=pajk&password=qawsed123

–virt-hosts = xmpp.dev.pajkdc.com

–comp-name-1 = muc

–debug = server

–comp-class-1 = tigase.muc.MUCComponent

–external = muc.xmpp.dev.pajkdc.com:yangguo:connect:5270:xmpp.dev.pajkdc.com;vm-128-157;vm-128-158:accept

muc2配置
config-type = --gen-config-comp

–user-db = mysql

–admins = admin@xmpp.dev.pajkdc.com

–user-db-uri = jdbc:mysql://10.0.128.115:3307/tigase?user=pajk&password=qawsed123

–virt-hosts = xmpp.dev.pajkdc.com

–comp-name-1 = muc

–debug = server

–comp-class-1 = tigase.muc.MUCComponent

–external = muc.xmpp.dev.pajkdc.com:yangguo:connect:5270:xmpp.dev.pajkdc.com;vm-128-157;vm-128-158:accept

Tigase MUC思路(引用于Tigase作者Kobit)
As far as I know there is no such thing like a persistent member of the MUC room. This is not a part of the protocol hence it is not implemented anywhere. Even if we had created something like that in our MUC server it would not work with any XMPP client. The whole idea behind MUC is to allow for communication between ONLINE users. Therefore, once the user logs off it is removed from the MUC. However, most of the XMPP clients have a feature to save a MUC bookmark and automatically join the room after login to the XMPP Server. The MUC room has quite extensive configuration settings, you can list users who are allowed to join the room, you can make the room password protected, you can assign different roles to different users. All of this is supported by our MUC.

注意事项:上面的配置,由于是一个完整的分布式环境,所以特别需要注意网络状况。特别是在server端开启本地端口,监听外部component服务链接的时候。尤其是使用无线网络的笔记本电脑,有时候无线网络会导致里面的java代码不能绑定本地端口的情况。面对这种情况,请大家将无线网络断开重连。

Tigase XMPP Server configuration properties
参数 说明 参考
–admins 管理员账号,管理可以disco插件对server进行管理
–auth-db 权限认证的db,支持mysql/pgsql/ldap/drupal/tigase-auth/tigase-custom/class name
–auth-db-uri 权限认证db的uri
–auth-domain-repo-pool

–auth-repo-pool

–auth-repo-pool-size

–bind-ext-hostnames

–bosh-close-connection

–bosh-extra-headers-file

–cl-conn-repo-class

–client-access-policy-file

–cluster-connect-all 动态的将不在集群配置中的节点加入到集群中,默认为false
–cluster-mode 是否开启集群
–cluster-nodes 在集群每台机器上确保每个hostname能够正常被DNS解析 参考
–cm-ht-traffic-throttling s2s,external component流控
–cm-see-other-host xmpp提供的load balance方案 参考1,参考2,参考3
–cm-traffic-throttling c2s的流控,每分钟xmpp包为2500个,整个生命周期没有限制;每分钟的流量为20m,整个生命周期没有限制
–cmpname-ports

–comp-class 需要加载到server的额外的component,特别是使用了config-type分离了各个component的应用中 参考
–comp-name 非独立的component(需要被server加载)名称 参考
–cross-domain-policy-file

–data-repo-pool-size

–debug 开启调试模式 参考
–debug-packages 输出指定包路径的日志,多个包用逗号分隔
–domain-filter-policy

–elements-number-limit

–ext-comp 弃用,建议使用–external来加载外部component(如:MUC/PubSub/IM transort),内部component还只能使用这个,如CS和SM分离 参考
–extcomp-repo-class

–external 监听外部component或者将component连接到server 参考1,参考2
–hardened-mode

–max-queue-size

–monitoring

–net-buff-high-throughput 默认为64k,服务器之间通信如果流量较大,可以适度调大该值,线上调为256k
–net-buff-standard

–new-connections-throttling 各个端口每秒新建连接的流控,主要是防止机器重启时,大量连接打死server
–nonpriority-queue

–queue-implementation

–roster-implementation

–s2s-ejabberd-bug-workaround-active

–s2s-secret

–s2s-skip-tls-hostnames

–script-dir

–sm-cluster-strategy-class

–sm-plugins 很多无用的plugin建议不加载,特别是正式环境中
–sm-threads-pool

–ssl-certs-location

–ssl-container-class

–ssl-def-cert-domain

–stats-archiv

–stats-history

–stringprep-processor

–test

–tigase-config-repo-class

–tigase-config-repo-uri

–tls-jdk-nss-bug-workaround-active

–trusted

–user-db

–user-db-uri

–user-domain-repo-pool

–user-repo-pool

–user-repo-pool-size

–vhost-anonymous-enabled

–vhost-max-users

–vhost-message-forward-jid

–vhost-presence-forward-jid

–vhost-register-enabled

–vhost-tls-required

–virt-hosts 虚拟域设置
–watchdog_delay 心跳检测间隔时间,写检测,默认值10分钟,现在修改为30秒
–watchdog_ping_type watchdog ping包类型,写操作,whitespace和xmpp
–watchdog_timeout 读检测,默认1740000毫秒
config-type 选择启动的方式,CM和SM分离就是此处配置 参考
sm-plugin说明
参数 说明 参考
jabber:iq:register 注册服务
message-archive-xep-0136 消息归档
jabber:iq:auth 简单用户认证
urn:ietf:params:xml:ns:xmpp-sasl SASL协商 参考
urn:ietf:params:xml:ns:xmpp-bind 资源绑定
urn:ietf:params:xml:ns:xmpp-session session绑定
jabber:iq:roster 联系人名单管理
presence xmpp顶级元素,上线广播
jabber:iq:privacy 隐身协议
jabber:iq:version 客户端版本
http://jabber.org/protocol/stats 是否发送统计信息,指向jabber.org发送
startls tls加密
msgoffline 离线消息
vcard-temp 临时的vCard
http://jabber.org/protocol/commands 管理virtual domains的特别命令 参考
jabber:iq:private 私有数据存储
urn:xmpp:ping 心跳检测
pep 发布订阅插件 参考
domain-filter(basic-filter) domain拦截器 参考
amp(basic-filter) 高级消息处理 参考1,参考2
zlib(basic-filter) zlib压缩
message-carbons(basic-filter) 将stanzas投递到用户指定的资源
disco(basic-filter) 服务发现
标准错误代码
代码 说明
302 重定向,尽管HTTP规定中包含八种不同代码来表示重定向,Jabber只用了其中一个(用来代替所有的重定向错误)。不过Jabber代码302是为以后的功能预留的,目前还没有用到。
400 坏请求,Jabber代码400用来通知Jabber客户端,一个请求因为其糟糕的语法不能被识别。例如,当一个Jabber客户端发送一个的订阅请求给它自己活发送一条没有包含“to”属性的消息,Jabber代码400就会产生。
401 未授权的,Jabber代码401用来通知Jabber客户端它们提供的是错误的认证信息,如,在登陆一个Jabber服务器时使用一个错误的密码,或未知的用户名。
402 所需的费用,Jabber代码402为未来使用进行保留,目前还不用到。
403 禁止,Jabber代码403被Jabber服务器用来通知Jabber客户端该客户端的请求可以识别,但服务器拒绝执行。目前只用在注册过程中的密码存储失败。
404 没有找到,Jabber代码404用来表明Jabber服务器找不到任何与JabberID匹配的内容,该JabberID是一个Jabber客户端发送消息的目的地。如,一个用户打算向一个不存在的JabberID发送一条消息。如果接受者的Jabber服务器无法到达,将发送一个来自500级数的错误代码。
405 不允许的,Jabber代码405用在不允许操作被’from’地址标识的JabberID。例如,它可能产生在,一个非管理员用户试图在服务器上发送一条管理员级别的消息,或者一个用户试图发送一台Jabber服务器的时间或版本,或者发送一个不同的JabberID的vCard。
406 不被接受的,Jabber代码406用于服务器因为某些理由不接受一个包。例如,这个可能发生在,一个Jabber客户端试图使用jabber:iq:private在服务器上存储信息,但当前的用于存储的名字空间用”jabber:”开头(在Jabber里是一个被存的XML开头)。另一种可能产生406错误的情况是当一个Jabber客户端试图用一个空密码注册到一台Jabber服务器上。
407 必须注册,Jabber代码407当前不被使用
408 注册超时,当一个Jabber客户端不能在服务器准备好的时间内发起一个请求时,Jabber服务器生成Jabber代码408。这个代码当前只用于Jabber会话管理器使用的零度认证模式中。
409 冲突
500 服务器内部错误,当一台Jabber服务器遇到一种预期外的条件,该条件阻止服务器处理来自Jabber客户端的包,这是将用到Jabber代码500。现在,唯一会引发500错误代码的时间是当一个Jabber客户端试图通过服务器认证,而该认证因为某些原因没有被处理(如无法保存密码)。
501 不可执行,当服务器不支持Jabber客户端请求的功能,使用Jabber代码501。例如,该代码只当Jabber客户端发送一个认证请求,而该认证请求不包含服务器配置中定义的任何一种认证方式时,服务器发送Jabber代码501。这个代码还被用于,当一个Jabber客户端试图注册一个不允许注册的服务器。
502 远程服务器错误,当因为无法到达远程服务器导致转发一个包失败时,使用Jabber代码502。该代码发送的特殊例子包括一个远程服务器的连接的失败,无法获取远程服务器的主机名,以及远程服务器错误导致的外部时间过期。
503 服务无法获得,当一个Jabber客户端请求一个服务,而Jabber服务器通常由于一些临时原因无法提供该服务时,使用Jabber代码503。例如,一个Jabber客户端试图发送一条消息给另一个用户,该用户不在线,但它的服务器不提供离线存储服务,服务器将返回一个503错误代码给发送消息的JabberID。当为vcard-temp和jabber:iq:private名字空间设置信息时,出现通过xdb进行数据存储的写入错误,也使用该代码。
504 远程服务器超时,Jabber代码504用于下列情况:试图连接一台服务器发生超时,错误的服务器名。
510 连接失败,Jabber代码510目前还没有使用。
扩展code(XMPPErrorCodeExtension枚举),如果大家定义了,请加在此处。 ERROR_TH(4031, “cancel”, “登陆过于频繁或者流量过大”)

MUC相关技术
XEP-0004: 数据表单,用来交换数据。
CS和SM分离
tigase中是可行的,但是目前架构没有这样做。这样做会增加网络开销,目前此方案,不是很好,待尝试。
使用到得XEP
XEP-0184: Message Delivery Receipts,该扩展对server没有任何要求,只要client端支持就行。
XEP-0004:表单数据,用来交换数据,form类型[http://xmpp.org/registrar/formtypes.html]
XEP-0198:server端的消息确认,tigase中的配置,它的存在的意义在http://op-co.de/blog/posts/XEP-0198中已经描述的非常详细。
XEP-199
XEP-0114:Jabber组件协议
群聊室的属性
我们设计的群已经不是标准的xmpp群了,下面的属性是对于smack或者标准的xmpp群有意义的。

房间名称|muc#roomconfig_roomname
描述|muc#roomconfig_roomdesc
允许占有者更改主题|muc#roomconfig_changesubject
最大房间占有者人数|muc#roomconfig_maxusers
其 Presence 是 Broadcast 的角色|muc#roomconfig_presencebroadcast
列出目录中的房间|muc#roomconfig_publicroom
房间是持久的|muc#roomconfig_persistentroom
房间是适度的|muc#roomconfig_moderatedroom
房间仅对成员开放|muc#roomconfig_membersonly
允许占有者邀请其他人|muc#roomconfig_allowinvites
需要密码才能进入房间|muc#roomconfig_passwordprotectedroom
密码|muc#roomconfig_roomsecret
能够发现占有者真实 JID 的角色|muc#roomconfig_whois
登录房间对话|muc#roomconfig_enablelogging
仅允许注册的昵称登录|x-muc#roomconfig_reservednick
允许使用者修改昵称|x-muc#roomconfig_canchangenick
允许用户注册房间|x-muc#roomconfig_registration
房间管理员|muc#roomconfig_roomadmins
房间拥有者|muc#roomconfig_roomowners
哇谷工作台 哇谷云 哇谷科技 即时通讯 IM下载 IM功能与价格


热门搜索:

什么是私有云? 私有云、公有云还是混合云?企业该如何选? 企业聊天APP有什么作用,可以带来哪些便利? 企业选择混合云的优势 聊天APP应该具备哪些功能?怎么确保信息不被泄露? 企业即时通讯的使用价值有哪些 企业IM是什么,有什么使用优势? JM沟通优势有哪些,安全性怎么样? JM沟通APP功能强大且安全性高 IM云系统即时通讯公有云、私有云、企业云、海外云-哇谷IM团队 对于IM即时通讯的性能与并发性问题xmpp等各种通信协议 sso登录统一账号体系和集中认证授权 MongoDB数据库百万并发设计使用方法 WebRTC视频会议服务器性能10万并发 办公协同解决方案的意义 有什么优势? 美国FBI遭黑客攻击 超10万人收到垃圾邮件!这家零佣金券商也被攻击 用户数据泄露-企业即时通讯安全 工作台支持私有化部署-企业办公通信管理-软件开发管理系统-哇谷云 Application scenarios of wagu im cloud service A typical IM architecture might look like this 哇谷IM实现原理讲解-哇谷IM即时通讯云 JM沟通功能图片演示-哇谷IM即时通讯云 硬件配置选择-哇谷IM即时通讯云 IM私有化价格服务系统-哇谷IM即时通讯云 哇谷云服务项目表 哇谷IM定制私有化搭建资料准备工单-哇谷IM即时通讯云 APP中红包功能技术最常见的形式-哇谷im即时通讯云 私有云、公有云还是混合云?企业该如何选? 租用海外云服务器时应注意的事项 私有云比起公有云安全性大大提高 哇谷云服务应用场景十分丰富多元 聊天APP功能强大 用户群体越来越广泛 企业打造私有云平台需要注意的几点 企业聊天办公软件如何挑选,需要具备哪些功能? IM的作用可不只是单纯的聊天工具 企业使用即时通讯的好处有哪些? 企业通讯常见的困扰:有什么办法提高通讯质量? 聊天APP应该具备哪些功能?怎么确保信息不被泄露? 语音会议软件越来越多:到底哪个软件适合开会? 使用手机能否召开视频会议?哪些软件值得选择? JM沟通与传统通讯软件有何区别?是否只能用于社交? 语音会议效果难以保障 你有准备专业会议软件吗 专业企业通讯软件功能齐全 让办公变得更加轻松快捷 业应不应该开发聊天APP 三个不容拒绝的理由 企业通讯软件如何选择 隐私保护终于一切 视频会议没有专用软件 很多事情都无法处理 哪些是常用的微服务框架? 企业如何搭建私有云? 即时通讯软件是否具有聊天回执的功能? 企业即时通讯软件支持多设备登陆吗? 企业即时通讯适合中小企业的即时通讯软件? 盘点全球几大即时通讯软件 介绍两款国外大佬级别的即时通讯APP Short video features 即时通讯短视频功能的基本特点主要有哪些 Features of chat function 聊天功能在即时通讯软件中的产品特色体现在哪里 Increase the function of red envelope 为什么在即时通讯软件中会增加红包功能 instant messaging 即时通讯 办私密软件公 Office privacy software Cloud service 云服务 Im definition IM定义 How to meet office requirements Main features of instant messaging 即时通讯云软件应该如何达到集团办公的需求 企业即时通讯软件设计的特点主要有哪些 Instant messaging cloud red packet  福利发送新办法,IM即时通讯云红包功能的大势所趋 LAN communication 区域网通讯可以促进企业发展,使信息传输更快捷 Production guide of enterprise specific app 企业专属聊天APP的生产指南,这里应有尽有! Waguyun privacy protection 企业通讯无法得到私密保障?哇谷云上办公为您提供专业服务! Choose Wawa Guyun for internal communication 企业内部交流怎么办?现在有了哇谷云!  Advantages of LAN  局域网通讯企业真的需要吗?它有哪些优点? Enterprise instant messaging voice conference app 新发展、新机遇 全球疫情下的企业即时通讯语音会议 Provide efficient enterprise communication 专业呼叫中心 提供高效企业通信解决方案 New layout of global economic integration 协同办公解决方案,全球一体化经济新布局 There is more than one way for IM tools 还在使用微信?IM工具不止有一条途径 Power source for efficient operation 选择办公协同解决方案,现代企业高效运转的动力源 Efficient enterprise specific instant messaging 企业聊天APP,私密度高的高效企业专属即时通讯APP 新一代私有云与早期私有云的区别 The difference between private clouds What are the advantages of private cloud 新一代私有云有哪些优势? 单聊功能 群聊功能 红包功能源码 实时音视频 短视频 音视频会议源码 低延迟直播 哇谷IM云服务 IM私有化搭建源码 私有化搭建准备文件 TF签名知识 企业即时通讯 IM 即时通讯 IM定制功能 语音聊天室 在线教育

IM下载http://www.juemigoutong.com/webproduct.html
IM功能与价格http://www.juemigoutong.com/webcooperation.html
哇谷IM团队,哇谷即时通讯,哇谷官方站
即时通讯-哇谷即时通讯-IM-直播-短视频-音视频会议-大型企业即时通讯办-即时通讯源码-聊天app-http://www.wagukeji.com
即时通讯-哇谷即时通讯-IM-直播-短视频-音视频会议-大型企业即时通讯办-即时通讯源码-聊天app-sso-http://www.juemigoutong.com
即时通讯-哇谷即时通讯-IM-直播-短视频-音视频会议-大型企业即时通讯办-即时通讯源码-聊天app-http://www.wagu.cloud
即时通讯-哇谷即时通讯-IM-直播-短视频-音视频会议-大型企业即时通讯办-即时通讯源码-聊天app-http://bolg.wagu.cloud

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值