摘要
随着业务的的日益发展,很多用户拥有很多公众号,拥有百万用户,如何快速、低成本地保障业务运行?本文从该问题出发,论述了网站服务器增值服务对应的解决方案,并对其效果做出总结。
一、挑战和问题
下面将从业务特点开始,分析目前存在的挑战和问题。
1:业务特点和挑战
业务多样化的场景,注定了突发业务充满挑战。突发业务具有体量大、场景多样化、无规律等特点。
a)体量大:突发业务服务器带宽大部分都超过百兆,部分甚至达到了TB;
b)场景多样化:公众号推送的新闻爆点;微课堂中的课程直播,才艺等直播;静态网页加速中的红包活动、商城的电商秒杀;学生上下学高峰期自动打卡等;
c)无规律:部分突发活动无法预知,活动快要开始或已经开始了才知道,比如公众号推送的新闻爆点、圣诞节的一件圣诞帽;
2:目前存在的问题
a)大量客户流失:多数用户只有一台服务器运营网站,客户越多,服务器越卡,导致客户流失。
b)无法降低成本:所有的业务都运行在一台服务器内,CPU满了就只好堆服务器配置,增加了大量成本还是杯水车薪。
二、解决方案:
负载均衡构架如图
1:多台服务器支撑业务系统水平扩展
我们选用阿里云(或者腾讯云均可,以下以阿里云为例)提供的负载均衡来完成这项工作,较传统技术更简单易用,且能降低60%的成本。负载均衡能够根据应用负载进行弹性扩容,并在流量波动情况下不中断对外服务;负载均衡产品的负载分担能力结合云服务器ECS的快速创建能力,可为我们构建海量用户的系统打下了坚实基础。
2:通过CDN加速全国用户的静态文件访问
假如应用的服务器是部署在北京机房,则北京的用户访问是较快的,而广州的用户访问则相对较慢,这是由于广州和北京分别属于不同地区,广州用户访问需要通过互联路由器经过较长的路径才能访问到北京的服务器,返回路径也一样,所以数据传输时间比较长。对于这种情况,可使用CDN解决,其原理是将数据内容缓存到附近的机房,用户访问时先从最近的机房获取数据,这样可大大减少网络访问的路径,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。
3:通过缓存加速数据库的访问
大部分网站访问都遵循28原则,即80%的访问请求,最终落在20%的数据上。因此,我们可以对热点数据进行缓存,减少这些数据的访问路径,减轻对数据库的压力,从而改善系统性,提高用户体验。采用了云Memcached和redis优化,与传统的本地缓存相比,其硬件和数据都部署在云端,有完善的基础设施、网络安全保障、系统维护服务。
4:通过数据库的分表分库和读写分离,解决容量和性能问题
随着用户量的增加,数据库会成为最大的瓶颈。改善数据库性能常用的手段是进行读写分离以及分表,读写分离顾名思义就是将数据库分为读库和写库,通过主备功能实现数据同步。
5:构建海量的文件系统
随着用户量增加,业务量急剧增加,产生的文件越来越多,这样就会引来存储的容量瓶颈,数据备份,访问性能等一系列问题,单台文件服务器已经不能满足业务需求。远程附件功能提供的海量、安全、低成本,高可靠的分布式存储服务,提供无限存储空间,海量文件的快速访问以及内建的图片处理能力,帮您轻松应对海量文件的存储、访问以及减少带宽。
三:效果
负载均衡上线后,高效支持了用户的商城秒杀、课程直播、现场大型突发活动,显著提高服务器能力和降低成本。
总结:
网站服务器运维技术根据用户实际情况分析,充分拆分服务器里面运行的业务,放到单独的服务器去运行,将其组合,解决了人数多,突发流量大导致网站崩溃的问题,降低了服务器成本并加速运行访问速度。