构建负载和故障处理的MSMQ代理服务构想
2013-05-07 21:22
267 查看
构建负载和故障处理的MSMQ代理服务构想
在大并发数据应用处理过程中,往主需要消息队列这样的应用把信息分发到不同服务器上进行数据处理,目的是把流程数据拆分成N个环节分布到不同的服务器上运行,从而提高整体数据处理能力.前段时间在做MSMQ的负载和故意处理,在测试的过程中发现让我非常困扰的问题,就是通过.net 操作远程MQ的时候当对方挡机了.NET并不会报错,而是会写入本地转出队列这样就很难实时有效地把消息转移到别的MQ服务器.另一方面.NET操作远程MQ本机也必须装上MQ服务,还有一个就是.NET操作远程MQ的损耗也非常高.
为了解决以上问题的,所以打算实现一个MSMQ代理组件,组件分为两大部分别是服务端和CLIENT,服务端的功能主要是开启监听对请求进行本地MQ操作.CLIENT则相对复杂一些它提供的功能有负载各故障迁移等功能.
MSMQNode结构
应用服务和消息处理服务都通过MSMQNode进行消息写入和读取操作.
负载处理
为了适应以后并发的需要,在不调整代码的基础可以轻易配置负载处理能力.MSMQNode的实现除了具备多机负载处理能力外,组件Client端会简单轮循去操作不同的服务.
故障处理
多节点连接池
MSMQNode在设计上主要是通过软件来实现负载和迁移,所以在部署上并不需要在中间加架设LVS这样的负载服务.为了实现这一功能组件针对性设计一个多节点连接池.当某个节点出现连接异常的时候,连接池可以把当前损坏的节点从池中排除,除了在排除外连接池也会定期对损坏的节点进行TCP连接创建,一旦检测到连接恢复,那这个节点将重新回归到连接池中.
相关文章推荐
- 构建负载和故障处理的MSMQ代理服务构想
- 构建负载和故障处理的MSMQ代理服务构想
- Windows文件共享服务(SMB)访问常见故障处理
- [导入]构建WCF面向服务的应用程序系列课程(3):契约版本处理.zip(15.79 MB)
- 构建自定义Docker镜像使用ApacheHttp服务的代理功能
- Nginx提供代理服务(网站代理),nginx实现负载均衡集群和高可用集群、nginx实现网站动静页面分离
- 对IBM was服务的代理节点不可用的处理
- 标准的Windows蓝屏故障的分析、处理流程和VMware服务错误记录
- Print Spooler服务解析和故障处理
- 线上服务故障处理原则
- 【学习】构建WCF面向服务的应用程序系列课程笔记:(3)契约版本处理
- Linux系列-Red Hat5平台下构建Squid代理服务 推荐
- 打印服务的乱码故障处理
- oracle 服务基本操作,启动,停止 故障处理
- 负载均衡故障处理-无法访问网站
- BEA-171519 Weblogic 服务启动故障处理
- 构建Varnish缓存代理服务器以及反向代理Nginx服务配置详解
- Linux系列-Red Hat5平台下构建Squid代理服务
- 一个MySQL数据库服务不能正常启动的故障处理过程
- Uploadcare如何构建每天处理350M文件API请求的服务堆栈