服务器通讯之间的问题

  • 发送方连接数控制。熟悉Socket的朋友都清楚,Socket通讯简单的方法是发送方用1个固定连接发送(比如SMTP/POP3等),或发送方每个请求数据包新建一个连接发送(比如PHP/Ruby连MySQL)。对于服务器之间的通讯程序情况可能会比较特殊,通常会出现峰值,比如有几秒服务器负荷大,可能要几秒内传输数万个数据包。采用1个固定连接或每个数据包新建多个连接都有问题。
  • 接收方要快。可能有多个发送方同时发过来数据。同时发送的量可能非常大,每秒需要处理数万个并发的数据包。
  • 网络或接收方暂时故障。比如服务器之间专线短期故障或者接收方程序崩溃导致不能发送。通常大家自己实现的程序没有 MySQL 或者 Memcached 那么稳定,进程挂掉是概率很高的随机事件。死掉的解决方法可用一个守护进程监测,发现死掉再次重启。那监测到死机到重启需要一个过程,发送方这段事件需要发送的数据怎么处理?
  • 如果接收方一直不起来怎么办,发送方会不会被待发送的数据撑满到内存溢出。
  • 通讯协议是自定义的,可采用定长包或变长包。如果采用变长包,接收方收到一个坏数据也没法判断这个坏数据有多长怎么办。是不是整个数据流都废了?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值