JAVA开发运维(购物APP如何在搞活动期间保证系统的高可用)

背景:

        由于公司最近需要在自己的购物网H5小程序上搞营销活动,时间一个星期。在这段时间内,预估有百万到千万级别的用户访问量。那么如何保障购物H5小程序能在搞活动期间高可用,就成了研发与运维的头等大事。

现状:

      我们的服务目前是运行在腾讯云的ECS服务器上,一共10台服务器,做了SLB。平时压测能支撑的访问量大概是百万级,平均每台服务器TPS大概在700左右,ART在0.3秒以为,但是没有做过峰值的压测,不知道系统能够扛得住多大峰值的压力。对于千万级,系统没有测试过,比较担心的是峰值太大,系统直接瘫痪。

目前保障方案:

一、硬件方面:两种策略,一是纵向扩展,这是首选方案,因为我们的活动是临时的,有有效期的。这样扩展比较方面,回收也方便,当系统监测有压力,响应缓慢时,直接增加服务器CPU数和内存,就可以。这种方案不影响整个部署架构,安全性更高。但是缺点是服务器费用成本比较高。

二是横向扩展服务器,就是增加服务器数量,初步计划加3到5台。但是这个策略需要部署和增加配置的操作比较多,耗时比较长。回收资源也不方便。但也是可以提前增加3台应对。

二、软件方面:服务降级,因为搞活动促销,主要是为了卖货,我们首先保障整个卖货流程的贯通和后台数据的监控,至于其他不重要的服务,我们采取降级或者停用的策略,将资源更多分配给促销活动服务接口。还有一个是因为活动具有特殊性和临时性,有时候需要开发新的活动服务或者页面或者数据统计,这需要研发人员支撑。

三、服务保障方面:在活动期间实行值班制,各个环节需要有专业人员7X24事值守。做到随时可监控系统,随时可修复问题,随时可汇报活动营销效果。

五级预案:

第一级:纵向扩展,增加服务器内存和CPU个数。(几乎无感)

第二级:软件降级,抛弃不重要的服务和接口,先让软件正常运行。(代价,需要重新修改配置和重启系统)

第三级:横向扩展,增加服务器数量。(需要装软件,修改配置,部署,有一定的时间耗时)

第四级:网络限流,限制地区IP访问,先允许部分地区IP访问。(影响用户体验)

第五级:暂停活动,整改系统后再搞活动。(活动失败)

JAVA开发运维(购物APP如何在搞活动期间保证系统的高可用)_第1张图片

 

你可能感兴趣的:(java,运维)