在如今科技高速发展的时代,几乎每个企业都依赖互联网,离不开互联网。很多企业的业务也都依托于互联网,比如我们熟知的电商、股市,直播、甚至是用于乘坐地铁、公交买票过闸的APP。如今可以说是一个互联网时代的完全体。
但你们是否想过一个问题?如果在上班高峰期,我们使用的公共交通购票的APP崩溃了5分钟,抑或是股市交易系统崩溃了5分钟,产生的影响和损失会是多么巨大!
所以在严重依赖互联网的今天,互联网应用的稳定性和高可用性尤为重要!哪怕一分钟的宕机,也可能造成巨大的损失或客户的流失。
但保证高可用不是一件容易的事情。人力、物力、软件、硬件都是需要极大的投入。所以基于各种开销及技术难度层面考虑,很多企业会选择应用上云,将这些复杂且困难的问题交给云运营商来解决。
随着我们客户量的逐渐增多,也通过“上云”来保证网站稳定性和高可用。最近也体验了华为云的一套高可用解决方案,这里将使用过程分享给大家供大家参考。
二、华为云高可用方案体验分享
这里通过采用负载均衡、RDS云数据库、OBS对象存储、CRB云备份、弹性公网IP、Anti-DDos流量清洗等技术服务组合使用的方式来保证我们应用的高可用。下面拆解开来讲讲过程并做一些介绍:
1)负载均衡
保证业务稳定运行的一项重要措施就是做负载均衡,负载均衡一句话概括就是通过一组而非单个服务器来提供相同的应用服务,这时对该应用服务的请求就会分摊到这些服务器上,同时这些服务器也都可单独使用无需依赖其它服务器。而且负载均衡扩容非常方便,只需要将新的服务器加入到负载均衡监听上即可,让面临类似双11这样非常规化的高并发场景时能够有效应对。
因此,通过这样的负载技术可以减轻单服务器的压力,减少崩溃的概率,解决大并发访问的问题。这也是保证网站高可用的重要手段。
华为云也提供了负载均衡的技术,这里我使用了两台同配置的ECS并设定相同权重来测试一下:
两台服务器的应用部署完成后,将请求主机地址改为负载均衡的弹性公网IP后进行访问,成功拿到了结果:
然后做一个简单的压测:使用jmeter模拟100个用户一起访问系统:
访问期间登录这两台服务器分别查看占用资源情况:
第一台服务器
第二台服务器
可以看到资源占用上基本没啥差异,是按照我们设置的权重进行分发的,两台机器都是被有效利用起来了。
负载均衡器也提供了资源占用情况的监控功能,非常多的指标可供查看:
另外,它也提供了多种分配策略来应对多样的场景需求:
计费方式支持的类型也很多:按量付费、包月、包年等:
当后端服务器状态出现异常时,会在第一时间进行提醒:
2)云数据库RDS for Mysql
去年双11因为用量激增导致我们数据库服务严重吃紧,压力特别大。还出现了交易漏单、脏数据等严重的故障。即便在我们有专门的DBA的情况下,后续修复这些数据以及跟踪漏单原由上也花了非常多的时间。特别是在排查漏单原因时,因为没有精确的数据库操作日志,还是没有找到具体是啥原因导致的漏单,因此只好在代码层面做了更多的一致性处理和预后方案来弥补这个问题。
也因为有了这次的经历我,们深刻的体会到一个能快速自动扩容、具备完备的信息监控能力及稳定可靠的数据库服务是多么的重要!所以我们开始着眼于云数据库产品的选择。在经过一番对比和考虑后选择了华为云的RDS数据库。
什么是RDS for Mysql?