Tigase负载均衡策略

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49886247 Tigase负载均衡策略作者:chszs,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49886247

Tigase负载均衡策略

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

Tigase从5.2.0版开始,引入了负载均衡功能,可以把终端访问用户重定向到最适合的集群节点上。此负载均衡功能依赖于see-other-host的XMPP流错误消息(stream error message)。此机制背后的基本原则是如果用户当前正尝试连接的节点与返回消息的节点不是集群中 的同一个节点,那么用户将被重定向。此原则需要获得用户的JID实现重定向。

一、可用的实现

此Tigase的实现跟其他实现一样,是可扩展的,支持不同的、可插拨的重定向策略,实现了SeeOtherHostIfc接口。

当前有三种可用的策略:

1)SeeOtherHost策略

此策略是最基本的实现,它会返回init.properties配置文件中的单个主机名或当前的主机名。

2)SeeOtherHostHashed策略

这是Tigase默认使用的策略,它对用户的JID值的进行哈希计算,根据哈希值来把终端连接重定向到SeeOtherHostIfc的集群环境中的节点。所有有效的节点是根据默认的集群组成和所有连接到集群并工作的节点共同决定,也可以把所有的节点配置到init.properties中。

3)SeeOtherHostDB策略

此策略是SeeOtherHost策略的扩展实现,它根据Tigase数据库的user_id和node_id配对的形式来决定终端用户应该被重定向到哪一个节点。

二、配置选项

下面是实际的负载均衡重定向最基本的相关配置:

–cm-see-other-host=

它可能的值包括:

tigase.server.xmppclient.SeeOtherHost
tigase.server.xmppclient.SeeOtherHostHashed
tigase.server.xmppclient.SeeOtherHostDB
none - disables redirection

说明:前三行为三种重定向策略,最后一种是不使用重定向策略。

其余的所有选项都是以连接管理器per-connection-manager为基础进行配置的,因此这些选项都需要加上相应的连接管理器ID作为前缀,比如c2s、bosh、ws的配置,下面以c2s配置为例:

c2s/cm-see-other-host/default-host=host1;host2;host3
用分号来间隔重定向的主机节点名

c2s/cm-see-other-host/active=OPEN;LOGIN
用分号来间隔终端用户可以被重定向的阶段

当前可使用的值包括:
OPEN 它表示打开XMPP stream期间可以进行重定向
LOGIN 它表示在授权认证用户会话期间可以进行重定向

Tigase默认的重定向阶段是OPEN阶段。

SeeOtherHostDB策略附加的选项包括:

c2s/cm-see-other-host/db-url
JDBC连接的URI,用于查询重定向信息;如果没有配置,那么会使用–user-db-uri的值。

c2s/cm-see-other-host/get-host-query
SQL查询语句,它应该能返回重定向的主机名。

c2s/cm-see-other-host/get-all-data-query
SQL辅助器查询语句,它能够返回来自数据库所有的重定向数据。

c2s/cm-see-other-host/get-all-query-timeout
设置执行查询的超时时间。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
负载均衡 Dubbo 应用服务中间件
【Dubbo 解析】Dubbo支持几种负载均衡策略?
【1月更文挑战第11天】【Dubbo 解析】Dubbo支持几种负载均衡策略?
|
负载均衡 监控 算法
实现负载均衡策略:优化系统性能与可用性
实现负载均衡策略:优化系统性能与可用性
|
4月前
|
缓存 负载均衡 网络协议
电商API接口性能优化技术揭秘:缓存策略与负载均衡详解
电商API接口性能优化是提升系统稳定性和用户体验的关键。本文聚焦缓存策略与负载均衡两大核心,详解其在电商业务中的实践。缓存策略涵盖本地、分布式及CDN缓存,通过全量或部分缓存设计和一致性维护,减少后端压力;负载均衡则利用反向代理、DNS轮询等技术,结合动态调整与冗余部署,提高吞吐量与可用性。文中引用大型及跨境电商平台案例,展示优化效果,强调持续监控与迭代的重要性,为电商企业提供了切实可行的性能优化路径。
|
4月前
|
人工智能 负载均衡 Cloud Native
云原生之负载均衡策略
ai必学之负载均衡 @[TOC]轮询处理;weight权重;ip_hash
|
9月前
|
负载均衡 算法
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
2010 11
架构学习:7种负载均衡算法策略
|
9月前
|
负载均衡 IDE Java
SpringBoot整合XXL-JOB【04】- 以GLUE模式运行与执行器负载均衡策略
在本节中,我们将介绍XXL-JOB的GLUE模式和集群模式下的路由策略。GLUE模式允许直接在线上改造方法为定时任务,无需重新部署。通过一个测试方法,展示了如何在调度中心配置并使用GLUE模式执行定时任务。接着,我们探讨了多实例环境下的负载均衡策略,确保任务不会重复执行,并可通过修改路由策略(如轮训)实现任务在多个实例间的均衡分配。最后,总结了GLUE模式和负载均衡策略的应用,帮助读者更深入理解XXL-JOB的使用。
462 9
SpringBoot整合XXL-JOB【04】-  以GLUE模式运行与执行器负载均衡策略
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
993 7
|
10月前
|
负载均衡 Java Nacos
常见的Ribbon/Spring LoadBalancer的负载均衡策略
自SpringCloud 2020版起,Ribbon被弃用,转而使用Spring Cloud LoadBalancer。Ribbon支持轮询、随机、加权响应时间和重试等负载均衡策略;而Spring Cloud LoadBalancer则提供轮询、随机及Nacos负载均衡策略,基于Reactor实现,更高效灵活。
668 0
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
负载均衡 Java 对象存储
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
180 2

相关实验场景

更多