服务多次出现间歇性故障(数据存储 API,单台服务器可支持上万并发用户

摘要针对近期的服务稳定性问题,即时通讯云服务端LeanCloud进行相关优化,并在接下来的服务过程中启用改进和即时通讯云计费方式。以下为来自即时通讯云
LeanCloud官方的消息:LeanCloud
近期经历了比以往更频繁的稳定性方面的事故,其中有的是因为容量规划上的不足导致服务收到异常流量影响,有的是对上游服务商的域名攻击,有的是针对
LeanCloud 的 DDoS 攻击。LeanCloud
一直将服务的稳定性视为生命线,每次事故之后,都会严肃地总结并明确改进方案。我们也会把事故报告发布到博客上,确保用户们知晓事故原因和过程,以及后续我们要执行的改进措施。为让用户了解我们为此所做出的努力,我们想向大家通报一下在改进措施方面的进展。已经完成的改进措施有:为应对将来可能出现的上游服务商域名被攻击的情况,实现更灵活的域名动态切换,以便在必要时及时切换至其他域名,保证云服务对外服务的可用。完善应对
DDoS
攻击的策略和措施,把受攻击后恢复服务的时间缩短到分钟级。事故公告流程增加了短信通知渠道,确保开发者及时收到信息。(我们在最近的
DDoS
攻击的几十分钟内一共给所有用户发送了三次短信及时更新进展)。正在进行的措施有:增加新的监控措施,对前端网络入包量进行监控,防止网络转发量超过
VM 能力限制。调整前端 VM
配置,使用高包量机型,增大处理能力。改进前端服务器扩容方式,使用 docker
镜像来加快新节点部署上线的进度。API
服务对外增加多路备选域名,降低针对域名的攻击造成的影响。除了技术上的改进外,我们也对计费方式中的不合理之处进行了重新思考。过去我们的存储和即时通讯实时消息服务都是按照一个月的总使用量来计费的,这样造成了一些问题。比如如果一个应用在一个月里发生了
10 亿次 API
调用,我们并不区分这些调用是平均分布在整个月,还是集中在少数几天。而这两种情况对容量规划的要求是非常不同的,如果不做区分,就容易造成资源上的分配不及时,给运维工作造成风险和压力。另外由于存储和即时通讯实时消息是按月后付费,LeanEngine、LeanCache、短信是实时扣费,不同的计费周期和方式给很多用户造成了财务流程上的困扰。所以我们将把所有服务调整为一致的实时扣费的模式,并且存储和即时通讯实时消息服务将调整为按每天用户设定的容量上限收费,其中数据存储的计费依据将是并发请求数的上限,即时通讯实时消息服务的计费依据将是当日使用服务的用户数上限。这样用户可以自己调整预留的资源,确保满足需求。由于计费周期缩短到天,也能满足只在特定日期有超高流量的应用兼顾较低的预算和充足的资源。具体的方案和数字我们还在制定,会在第一时间与用户沟通。同时我们也会确保老用户有平滑的过渡体验。LeanCloud官方地址:

摘要前言Openfire
采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。4.0.2版更新内容Bug

摘要即时通讯云 LeanCloud
3月29日因少量大用户量应用的高在线量而发生了连锁服务故障,这个问题相信不是第1次发生,也不会是最后一次。对于即时通讯云服务商来说,要想在成本和服务质量上达成平衡,暂期内只能是个梦。2016
年 3 月 29 日晚间,LeanCloud
平台上的多个应用进行了推广活动,激增的访问量给我们的数据存储和实时通信服务带来了较大压力。从
20:50 至 22:15 有多次流量高峰出现,我们多台 Web
服务器的网络吞吐包超过虚拟机的能力极限,内外网通信中断,从而导致 HTTP
服务多次出现间歇性故障(数据存储 API
以及依赖于它的服务也都间歇性不可用)。具体情况汇报如下:故障时间20:53 –
21:03(持续约 10 分钟)数据存储 API 服务约 50% 的请求超时。21:17 –
21:40(持续约 23 分钟)数据存储 API 服务约 50% 的请求超时。22:00 –
22:15(持续约 15 分钟)数据存储 API 服务约 12.5%
的请求超时。故障总共持续约 48
分钟。影响范围本次故障只影响中国节点,美国节点的所有服务均工作正常。在故障期间凡是向
LeanCloud
平台发送过请求,并使用了数据存储服务的活跃应用都受到了影响;我们的统计服务也在短时间内无法正常接收来自应用的事件上报。事故过程20:52:内部监控系统报警,显示多个
Web
服务器节点出现故障。我们立刻上线进行紧急处理,在排除后端服务问题之后,开始追查前端资源和带宽配额。21:03:由于部分应用流量回落,同时也由于我们临时大幅增加了出口带宽,服务暂时恢复正常。21:05:我们开始扩容前端机集群,以应对接下来可能再次出现的流量高峰。21:17:前端机扩容时碰到了虚拟机
OS
故障以及网络环境问题,未能及时完成。此时恰好部分应用又迎来一次流量高峰,前端机再次吃紧。21:30:修复过程将近半小时,于是我们启动了公告和通知流程,在微博和用户群里发出通告。21:40:流量自然回落,前端机再次恢复正常,我们的平台开始正常处理
API
请求。22:00:线上部分前端机出现物理故障,我们又开始对它们进行紧急处理,期间有大约
1/8 的 API
请求丢失。22:15:新的前端机节点经过手动处理后终于达到可用状态,并加入集群,完成了扩容,至此全部服务彻底被恢复。后续改进措施增加新的监控措施,对前端机网络入包量进行监控,防止网络转发量超过
VM 能力限制。调整前端机 VM
配置,使用高包量机型,增大前端机的处理能力。改进前端机扩容方式,使用
docker
镜像来加快新节点部署上线的进度。公告流程中增加短信通知渠道,确保信息及时通知到开发者。

  • Ghost sessions left on …前言Openfire
    采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。4.0.2版更新内容Bug[OF-829]
  • Ghost sessions left on a server when using Pidgin client[OF-954] –
    Openfire clustering fails to correctly sync MUC room
    occupants[OF-1082] – Fix unicode read on BOSH[OF-1083] – Cannot join
    room in a cluster after an availability update[OF-1087] – Monitoring
    plugin gives invalid responses[OF-1090] – Outcasts should not be
    allowed to register with roomImprovement[OF-1086] – Update bundled JRE
    to 1.8u74[OF-1089] – XEP-0313: send IQ result only after
    messages[OF-1107] – Add option to not show email in Email on Away
    plugin官方链接:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website