`
weaveph
  • 浏览: 2266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

实现基于HTTP请求的拥塞控制机制,大家有没有什么经验?

阅读更多
我们现在做的系统,要在两台机器间使用HTTP发送XML报文的方式来通讯。在压力很大的情况下,需要做拥塞控制的考虑,目前我们的想法是这样的:

客户机发送报文到A,A接到报文后,放入一个LinkedBlockingQueue,然后应答客户机。
从线程池中起另一个线程,到LinkedBlockingQueue中取排头的报文,发送给B机。

B机同样将收到的报文放入LinkedBlockingQueue,在放入之前,判断拥塞情况,如果Queue中已经超过500个报文,就在应答A的HTTP响应中设置status为900。

这样,A就需要在收到900的HTTP应答后,调整发送间隔时间,比如等待10分钟再发下一个,直到B机的应答返回的是200了,才恢复正常速度发送。

这个是我的初步设想,请问大家还有没有更好的建议?

分享到:
评论
7 楼 yiding_he 2009-11-20  
看来 B 机并不需要等处理完才回应 A 机。何不让 B 机暂时将请求数据存在数据库或者文件里面?而对请求数据的处理则另起一个进程执行。
6 楼 fireflyc 2009-11-20  
客户端-》server A-》server B
没有什么问题。server A中你可用JMS来实现这样的机制。这个还能够持久化到队列中。

大并发的情况下,不推荐用Http方式。
楼主为什么不考虑下rmi或者直接用socket来通信?

由于HTTP是TCP的,为了保证信息的正确做了一些消耗,但是这些消耗的代价是你不必担心数据错误,不必自己组装数据包,即使你自己来做那么性能不一定比TCP的算法高明。你这里的socket是指什么?二进制的数据?通讯协议呢?rmi一样是TCP,不比http高到哪里去。只是数据是二进制的而已。
5 楼 vlinux 2009-11-20  
这个可以参考TCP协议的“窗口机制”,也就类似你这样做的了。
4 楼 lyy3323 2009-11-19  
你可以在你发送的XML里添加一个字段来标示需要间隔多长时间再发送
3 楼 魔力猫咪 2009-09-04  
JMS吧。应该能很好得满足要求。
2 楼 weaveph 2009-09-04  
rwl6813021 写道
大并发的情况下,不推荐用Http方式。
楼主为什么不考虑下rmi或者直接用socket来通信?



采用HTTP是客户要求的。
对于拥塞控制有没有什么建议?
1 楼 rwl6813021 2009-09-03  
大并发的情况下,不推荐用Http方式。
楼主为什么不考虑下rmi或者直接用socket来通信?

相关推荐

    翻译版 拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法

    - **AIMD机制简介**:AIMD(Additive Increase Multiplicative Decrease)是一种常用的拥塞控制策略,其核心在于增加时采用加法的方式逐步提升发送速率,而在检测到拥塞时则采用乘法的方式快速降低发送速率。...

    命名数据网络中带宽时延感知的拥塞控制机制.docx

    在相关工作方面,NDN拥塞控制的研究已经涉及多种策略,如基于内容请求者的ICP和ICTP等协议,这些协议通过兴趣包内的窗口大小限制和AIMD机制来调整拥塞窗口,但它们可能不足以应对NDN的多源多路径特性及其缓存影响。...

    分布式文件系统I_O拥塞控制研究.pdf

    作者提出了一种名为AIOCC(Automatic I/O Congestion Control)的端到端自动I/O拥塞控制机制,该机制不仅在客户端进行控制,还考虑了服务器端的状况,实现了更为精细的资源调度。 在分布式文件系统中,由于多个I/O...

    IPTV流媒体代理缓存拥塞控制.pptx

    TCP的拥塞控制机制基于滑动窗口原理,通过调整发送窗口的大小来控制数据发送速率。当数据包丢失时,TCP会通过重传和确认机制来确保数据的正确传输。此外,TCP还包括流控制功能,防止接收端主机因负载过重而无法接收...

    网络游戏-无丢失网络中的拥塞控制方法.zip

    5. **UDP的拥塞控制**:虽然TCP拥有内置的拥塞控制机制,但网络游戏更倾向于使用UDP协议,因为它具有更低的延迟和更好的实时性。对于UDP,开发者需要自定义拥塞控制算法,如Google的BBR(Bottleneck Bandwidth and ...

    基于无线局域网流量控制机制的无线自组网资源调度算法研究.pdf

    摘要中的内容主要涉及一种针对无线自组网(Wireless Ad Hoc Network,WANET)的资源调度算法,该算法是基于无线局域网(Wireless Local Area Network,WLAN)的流量控制机制设计的。文章指出,在WLAN中,由于网络...

    基于拥塞超前感知的NoC路由器设计.docx

    同时,本设计方案还提出了一种新型的拥塞感知机制,以动态超前感知下游路由器的拥塞状况,该机制通过监测仲裁器中请求包请求输出而未响应的数量来判断拥塞情况。 该设计方案的优点在于能够降低高负载NoC系统中的...

    基于混合TCP-UDP的HTTP协议实现方法

    这种方法只需要在应用层进行修改,无需改动操作系统核心代码,但代价是在应用层需要实现类似TCP的重排序和拥塞控制机制,以保证UDP传输的可靠性。 总的来说,混合TCP-UDP的HTTP协议实现了对不同数据传输需求的灵活...

    基于Java编程语言的内网即时通讯插件系统设计与实现 (1).pdf

    在系统设计中,我们还讨论了拥塞控制策略,包括基于丢包的拥塞控制和基于时延的拥塞控制。基于丢包的拥塞控制会在信息传输网络的发送端判断接收到的ACK包的个数,如果收到重复的ACK,则认为信息传输网络出现了拥塞。...

    c++实现基于停等协议的可靠udp传输的即时通讯系统(MFC)

    为了使系统更稳定,还需要考虑一些额外的机制,例如超时重传、流量控制(防止接收方被大量数据淹没)和拥塞控制(减少网络拥塞)。此外,文档通常会包含详细的设计背景、系统架构、实现细节以及性能分析等内容,这...

    基于TCP的聊天软件的实现

    TCP还提供了流量控制和拥塞控制机制,以防止数据丢失或网络阻塞。 **二、聊天软件架构** 这个基于TCP的聊天软件通常包含以下组件: 1. **服务器端**:服务器负责监听客户端的连接请求,一旦有新的客户端连接,就为...

    基于UDP协议的分布式通信设计与实现.pdf

    在UDP通信中,由于缺乏内置的拥塞控制,因此需要在应用层实现相应的机制,以避免网络中的数据传输拥堵。拥塞控制通常涉及监测网络状况并据此调整发送数据的速率。 设计一个多端会话可靠传输程序涉及到报文首部信息...

    基于工业控制以太网的QoS机制研究.rar

    标题中的“基于工业控制以太网的QoS机制研究”揭示了本主题的核心,即探讨如何在工业控制以太网环境下实现服务质量(QoS)的优化。这涉及到网络通信中确保关键数据流的优先级、可靠性和低延迟,以满足工业自动化...

    基于拥塞参与度的分布式低速率DoS攻击检测过滤方法.pdf

    分布式低速率DoS攻击(DLDoS)是一种新兴的网络安全威胁,其特点在于攻击者通过周期性地发送低速率的脉冲攻击数据包,利用网络协议或网络服务中自适应机制的漏洞(例如TCP协议的拥塞控制机制),造成被攻击服务和...

Global site tag (gtag.js) - Google Analytics