一、前言
在如今科技高速发展的时代,几乎每个企业都依赖互联网,离不开互联网。很多企业的业务也都依托于互联网,比如我们熟知的电商、股市、直播、甚至是用于乘坐地铁、公交买票过闸的APP。如今可以说是一个互联网时代的完全体。
但你们是否想过一个问题?如果在上班高峰期,我们使用的公共交通购票的APP崩溃了5分钟,或是股市交易系统崩溃了5分钟,产生的影响和损失会是多么巨大!
所以在严重依赖互联网的今天,互联网应用的稳定性和高可用性尤为重要!哪怕一分钟的宕机,也可能造成巨大的损失或客户的流失。
但保证高可用不是一件容易的事情。人力、物力、软件、硬件都是需要极大的投入。所以基于各种开销及技术难度层面考虑,很多企业会选择应用上云,将这些复杂且困难的问题交给云运营商来解决。
随着我们客户量的逐渐增多,也通过“上云”来保证网站稳定性和高可用。最近云服务商都在搞年中促销,本人所在公司借着华为云618营销季采购了网站高可用解决方,我也有机会亲身体验,这里将使用过程分享给大家供大家参考。
二、华为云高可用方案体验分享
这里通过采用负载均衡、RDS云数据库、OBS对象存储、CRB云备份、弹性公网IP、Anti-DDos流量清洗等技术服务组合使用的方式来保证我们应用的高可用。下面拆解开来讲讲过程并做一些介绍:
1)负载均衡
保证业务稳定运行的一项重要措施就是做负载均衡,负载均衡一句话概括就是通过一组而非单个服务器来提供相同的应用服务,这时对该应用服务的请求就会分摊到这些服务器上,同时这些服务器也都可单独使用无需依赖其它服务器。而且负载均衡扩容非常方便,只需要将新的服务器加入到负载均衡监听上即可,让面临类似双11这样非常规化的高并发场景时能够有效应对。
因此,通过这样的负载技术可以减轻单服务器的压力,减少崩溃的概率,解决大并发访问的问题。这也是保证网站高可用的重要手段。
华为云也提供了负载均衡的技术,这里我使用了两台同配置的ECS并设定相同权重来测试一下:
两台服务器的应用部署完成后,将请求主机地址改为负载均衡的弹性公网IP后进行访问,成功拿到了结果:
然后做一个简单的压测:使用jmeter模拟100个用户一起访问系统:
访问期间登录这两台服务器分别查看占用资源情况:
第一台服务器
第二台服务器
可以看到资源占用上基本没啥差异,是按照我们设置的权重进行分发的,两台机器都是被有效利用起来了。
负载均衡器也提供了资源占用情况的监控功能,非常多的指标可供查看:
另外,它也提供了多种分配策略来应对多样的场景需求:
计费方式支持的类型也很多:按量付费、包月、包年等:
当后端服务器状态出现异常时,会在第一时间进行提醒:
2)云数据库RDS for Mysql
去年双11因为用量激增导致我们数据库服务严重吃紧,压力特别大。还出现了交易漏单、脏数据等严重的故障。即便在我们有专门的DBA的情况下,后续修复这些数据以及跟踪漏单原由上也花了非常多的时间。特别是在排查漏单原因时,因为没有精确的数据库操作日志,还是没有找到具体是啥原因导致的漏单,因此只好在代码层面做了更多的一致性处理和预后方案来弥补这个问题。
也因为有了这次的经历,我们深刻的体会到一个能快速自动扩容、具备完备的信息监控能力及稳定可靠的数据库服务是多么的重要!所以我们开始着眼于云数据库产品的选择。在经过一番对比和考虑后选择了华为云的RDS数据库。
什么是RDS for Mysql?
RDS for MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就加快了速度,并提高了灵活性。
RDS for MySQL是全球最受欢迎的开源数据库之一,性能卓越,搭配LAMP,成为 WEB 开发的高效解决方案。 云数据库 RDS for MySQL 拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点。从2022年6月开始,华为云的RDS还新增了下面这些特性:
支持多安全组、多Proxy功能、多Proxy动态负载,下面分享一下使用过程中觉得比较高效有用的功能点:
1.智能DBA助手
华为云RDS的“智能DBA助手”能帮助我们追踪SQL执行信息及慢SQL、锁等待、高压力等告警和提示。
在“智能DBA助手-实时诊断”中我们可以查看各类性能指标的实时情况:
还可以查看与数据库建立的会话信息:
在“智能DBA助手-历史诊断”中,我们可以开启SQL的实时记录功能,开启后,我们每次涉及SQL的操作都会进行记录,可以在列表中看到SQL的执行次数和耗时等信息,还可以根据操作类型筛选要查询的记录:
2.高级运维
华为云RDS提供的高级运维提供了非常详细的各类指标监控功能,包括cpu,内存,磁盘利用率以及SQL增删改查语句等70种指标可供查看:
如果CPU个数不低于8个,还可以开启秒级监控的服务!
3.参数修改
华为云RDS还提供了非常便捷的参数修改功能,不需要我们再像之前那样,改配置还需要在服务器的配置文件中修改:
另外RDS的备份和扩容也是非常方便的,大家可以自行体验。
3)弹性公网IP EIP
弹性公网IP(Elastic IP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑,提供访问公网和被公网访问能力:
我们上述体验的负载均衡、ECS、RDS如果想被外网访问也都需要绑定一个公网IP。
可以看到,华为云提供的弹性公网IP服务非常灵活,而且计费模式也多种多样:支持按需、按带宽、按流量计费等多种计费策略,包年包月价格更优惠。还可以加入共享带宽,降低带宽使用成本:
4)弹性云服务器ECS
ECS是华为云推出的一种可随时获取、弹性扩展的云计算机服务。在行业中也有非常权威的认可:云计算服务能力标准符合性一级证书、OCP与USCP运筹优化算法赛道第一名、51项国际榜单记录、可信云技术最佳实践奖、下一代云计算技术创新奖、年度领先游戏云服务器等。
华为云的机房安全等级(Tier4)是全国最高的,在安全设备方面也有数十亿的投入。另外还有40多种安全服务可供使用、安全上的专项研发占总体研发投入5%。在之前我的分享中也提到过华为云有着“上不碰应用,下不碰数据”的安全标准,这也是政府、金融机构、三大运营商、高校等相关事业机构选择华为云最多的原因。华为云也是唯一一家能够提供端到端的云计算平台,从底层的硬件物理设备到虚拟化软件建设,全部来自于华为自身研发,并且技术在行业内已经得到广泛的认可。
上面负载均衡使用的两台服务器也正是华为云的ECS:
5)OBS对象存储
我们公司的跨境电商服务需要保证24小时都能够高效快速的访问,所以使用了服务器按带宽计费的方式来上云,带宽速度有10M,对于日常的接口调用访问是游刃有余的,但对于静态资源(前端网站、图片、视频)等的访问10M是很小的,并发瓶颈非常低。所以对于这部分的资源我们选择了OBS来解决:
OBS是一款基于对象存储的服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型供选择,满足客户各类业务场景诉求。华为云OBS支持并行文件系统、生命周期管理、跨域资源共享,并已在部分区域支持数据回源和在线解压,当我们的使用场景需要海量数据存储能力时,比如大数据分析、静态网站托管、在线视频点播、基因测序、智能视频监控等使用OBS能够提供更高的性能、更低的延时以及更低的成本。性价比非常高:
华为云的OBS数据持久性高达99.9999999999%(12个9),业务连续性高达99.995%,还支持加密、防盗链、细粒度权限控制等多种数据安全功能,保障数据安全可信。
更是独家支持POSIX文件语义,具备优异的大数据性能、单流带宽可达300M+,性能更强!
6)CRB云备份
CRB是一款云备份服务,可以为云内的云服务器、云硬盘、SFS Turbo、云上及本地文件目录,以及VMware虚拟化环境,提供简单易用的备份服务,针对病毒入侵、人为误删除、软硬件故障等场景,可将数据恢复到任意备份点:
华为云的云备份策略配置维度多种多样,周期支持按周、按天等。保留规则支持按数量、时间、永久保存等:
华为云的云备份CBR还具备下面这些特性:
周期性全量备份:云备份支持在资源非第一次备份的情况下进行定期全量备份,进一步提升备份数据的案例性,满足用户定期进行全量备份的需求;
备份支持修改名称:支持修改备份数据名称;
文件备份:混合云备份存储库现支持云上及本地文件目录备份,实现低成本备份上云;
行业权威认可:信息安全服务资质认证证书 CCRC;
对于以数据为主的系统 ,类似交易平台、银行证券及核心业务需部署在云上使用的场景使用CBR是非常合适的选择。
7)Anti-DDOS及Web应用防火墙 WAF
Anti-DDoS是华为云针对华为云公网IP资源(弹性云服务器、弹性负载均衡),提供网络层和应用层的DDoS攻击防护(如泛洪流量型攻击防护、资源消耗型攻击防护)的一项服务,同时还并提供攻击拦截实时告警,有效提升用户带宽利用率,保障业务稳定可靠。
Anti-DDoS通过对互联网访问公网IP的业务流量进行实时监测,及时发现异常DDoS攻击流量。在不影响正常业务的前提下,根据用户配置的防护策略,清洗掉攻击流量。同时,Anti-DDoS为用户生成监控报表,清晰展示网络流量的安全状况。
Anti-DDoS可以帮助用户缓解以下攻击:
- Web服务器类攻击;
- SYN Flood攻击、HTTP Flood攻击、CC(Challenge Collapsar)攻击、慢速连接类攻击等;
- 游戏类攻击;
- UDP(User Datagram Protocol ) Flood攻击、SYN Flood、TCP(Transmission Control Protocol )类攻击、分片攻击等;
- HTTPS服务器的攻击;
- SSL DoS/DDoS类攻击等。
Anti-DDoS还提供以下功能:
- 为单个公网IP地址提供监控记录,包括当前防护状态、当前防护配置参数、24小时内流量情况、24小时内异常事件;
- 为用户所有进行防护的公网IP地址提供拦截报告,支持查询攻击统计数据,包括清洗次数、清洗流量,以及公网IP被攻击次数Top10和共拦截攻击次数等。
针对安全防护这一块,华为云还提供了Web应用防火墙 WAF:
华为云的WAF采用规则和AI双引擎架构,默认集成华为最新防护规则和优秀实践;企业级用户策略定制,支持拦截页面自定义、多条件的CC防护策略配置、海量IP黑名单等,帮忙用户更精准高效的防护。
通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web应用免受常见Web攻击,确保业务安全稳定。同时支持网站反爬虫、网页防篡改、防敏感信息泄露等功能。启用WAF之后,网站所有的公网流量都会先经过WAF,恶意攻击流量在WAF上被检测过滤,而正常流量返回给源站IP,从而确保源站IP安全、稳定、可用:
三、总结
经过这次体验可以得出:华为云提供的网站高可用解决方案能够帮助客户消除单点故障导致业务中断的风险,支持千万级并发,保障用户业务的高可用。
使用弹性负载均衡ELB+弹性云服务器ECS的组合可将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错;使用云数据库RDS能够提高吞吐量和并发性,可以通过快速的响应时间来支持大量的连接。
使用对象存储服务 OBS+云备份 CBR的组合可以带来高性能、高可靠、低时延、低成本的海量存储系统,满足个人/企业各类场景需求,实现大量数据存储,针对病毒入侵、人为误删除、软硬件故障等场景,可将数据恢复到任意备份点,及时恢复业务,保证业务连续性。
Web应用防火墙 WAF+Anti-DDoS流量清洗组合可以提网络层和应用层的DDoS攻击防护,及时识别恶意请求特征和防御未知威胁,全面避免网站被黑客恶意攻击和入侵,有效提升用户带宽利用率,保障业务稳定可靠及高可用性。
据以往数据统计,使用华为云建站的网站可用性99.9%以上,全年不可用时间小于数小时,网站性能网站访问速度提升80%以上;相较于开源数据库性能提升3倍。数据库主备秒级切换;缩短95%备份时长;分钟级RPO,小时级RPO。所以选择华为云来让你的应用高可用是不错的选择。
刚好华为云618营销季活动还在继续,截止到6月30日,各种云产品云解决方案都有折扣,还有大额礼包、储值返券等众多活动和玩法,以最大诚意帮助中小企业轻松上云。有需要的小伙伴不妨上华为云官网看看吧。