稳定性和高可用如何保障?一手测评华为云网站高可用解决方案

2023-11-12

一、前言

在如今科技高速发展的时代,几乎每个企业都依赖互联网,离不开互联网。很多企业的业务也都依托于互联网,比如我们熟知的电商、股市,直播、甚至是用于乘坐地铁、公交买票过闸的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?

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。所以选择华为云来让你的应用高可用是不错的选择。

刚好华为云开年采购季活动还在继续,截止到3月31日,访问华为云官网活动页就可领取8888元的上云礼包,有需要的小伙伴不妨上华为云官网看看吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

稳定性和高可用如何保障?一手测评华为云网站高可用解决方案 的相关文章

  • 你是外包,麻烦不要偷吃零食,注意素质..

    我自己没经历过外包 靠自己的所见所闻可能写出来的东西会很主观 所幸我有不少外包的读者 还有几个在外包工作或工作过的朋友 在跟她们深度交流之后 这这里聊一下我自己的一些看法 注 本文不代表所有外包公司 依旧存在部分主观意识 目前市场上比较知名
  • 【VMD-LSTM】变分模态分解-长短时记忆神经网络研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 变分模态分解算法 1 2 LSTM 2 运行结果 编辑 3 参考文献 4 Python代码实现 1
  • js项目练习第二课

    百度输入法
  • C# 三种代码注释方式

    1 常规注释方式 单行注释 以 符号开始 任何位于 符号后的本行文字都视为注释 块注释 以 开始 结束 任何介于这对符号之间的文字块都视为注释 2 XML注释方式 Extensible Markup Language 可扩展标记语言 符号是
  • Java初级面试常见面试题

    下面的这些不够看 可以访问我的语雀专栏 https www yuque com greedy 9i38g tzpwui 面试题 文章目录 JavaSE Java基本数据类型大小 JAVA中 和 两种符号 抽象类不能创建对象 那么抽象类中是否
  • 剑指offer面试题【14】----剪绳子【Python】【动态规划】【贪婪算法】

    题目描述 给你一根长度为n的绳子 请把绳子剪成m段 m和n都是整数 n gt 1并且m gt 1 每段绳子的长度记为k 0 k 1 k m 请问k 0 k 1 k m 可能的最大乘积是多少 例如 当绳子的长度为8时 我们把它剪成长度分别为2

随机推荐

  • 一天一道算法题(为更好的明天奋斗)

    往期 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素不能使用两遍 示例 给定 nums 2 7 11 1
  • zynq的lwip echo server实验(有无法ping通的解决方案)

    很多朋友卡在了无法接受回传数据的问题上 下面分享下我的搭建过程和解决方法 这里提供我的工程和用到的两个教程 版本vivado vitis2020 2 lwip echoserver zip C文档类资源 CSDN下载 1 根据开发板的端口
  • nfsv4文件服务器,在CentOS 7上配置NFSv3和NFSv4的步骤

    本文介绍在CentOS 7上配置NFSv3和NFSv4的具体步骤 唯一的条件是你应该安装CentOS 7服务器和数据目录以通过NFS导出到其它服务器 安装请参考在VMware中安装CentOS操作系统教程 第1步 安装NFS服务器 使用以下
  • 阿里云oss出现No ‘Access-Control-Allow-Origin‘的问题

    解决办法 在oss管理控制台中设置bucket中数据安全的跨域设置 然后创建规则 来源是请求的网址 可以使用通配符 允许 Methods就是允许跨域的方法 可以多选 注意这里的规则最多10条
  • Arduino对57步进电机的控制

    最近实验室的智能车从大车路线改到了小车路线 于是笔者也跟着学习一些新的知识 大车的控制可以使用标准的CAN协议 很多方便的指令都能够通过CAN来传输给ECU并得到相应的反馈 然而对于最近接触的电动小白车 控制策略只能使用物理机械去控制 因此
  • 循环链表算法及代码实现

    一 循环单链表 直接上图就能够说明循环单链表的存储结构 简单直观 我们关注一下其特点 与非循环单链表相比 循环单链表 1 无空指针域 2 尾节点的判断条件为 p gt next L 二 循环双链表 同样直接上图 与非循环双链表相比 1 无空
  • 实现图片验证码【详细代码】

    实际开发过程中经常遇到要实现图片验证码来防止外部使用脚本刷接口 所以说图片验证码是很有必要的一个小功能 html div class user phone div
  • PyTorch模型 .pt、.pth与.pkl 的区别

    PyTorch模型 pt pth与 pkl 的区别 1 项目场景 2 问题描述 3 原因分析 1 项目场景 调试PyTorch代码保存训练模型的时候有些时候保存的格式是 pt 有些时候是 pth与 pkl 不禁好奇它们之间的区别 2 问题描
  • shell脚本系列:3、shell命令

    shell脚本系列 3 shell命令 文章目录 shell脚本系列 3 shell命令 1 保留字 2 简单的命令 3 管道 4 命令列表 5 复合循环指令 5 1 循环结构 5 2 条件结构 5 3 分组命令 6 协程 7 GUN Pa
  • MATLAB遍历子文件夹及其下文件

    MATLAB遍历子文件夹及其下文件 以前从未遇到过用MATLAB批处理文件的情况 此次项目需要批量将二进制数据文件导入matlab进行svm分类 现将matlab遍历子文件夹及其文件的方法记录下来 文件目录结构 maindir subdir
  • Java基础必知必会

    基础知识笔记记录 持续更新ing 个人博客 www zhazhapeng cn 1 JDK JRE的区别 JDK Java Development Kit 开发工具 基本类库 javac 编译 javap 反编译 javadoc 编译文档
  • C++ 基础: cin和getline() 有啥区别?

    所谓温故而知新 所以时不时会回头来看看我们最最基础的知识 获取标准键盘输入的方法有多种 以C 语言来说 最常用的就是cin 和geline 那么它们之间有什么区别呢 我们总结一下 一 cin和geline的异同点 在 C 中 cin 和 g
  • Boost电源原理及工作过程详解

    1 Boost电路基本介绍 Boost电路在电池的一些场景非常常见 用于给电池电压升压后再给电路进行供电的场景比较多 随着电动汽车的飞速发展 在汽车电子的场景使用也越来越多 开关电源的主要部件包括 输入源 开关管 储能电感 控制电路 二极管
  • C1认证:作业四

    1 任务背景 为了摆脱 成为 只会CRUD 没有自我核心竞争力 无思想的编程的大龄码农 所以 开展了本次实验 目的是 去了解算法 去欣赏它的美 去感受它的优雅 使自己成为有灵魂的工程师 2 任务大纲 一 任务一 轮播图片 HTML CSS
  • 开源 LLM (大语言模型)整理(一)

    Large Language Model LLM 即大规模语言模型 是一种基于深度学习的自然语言处理模型 它能够学习到自然语言的语法和语义 从而可以生成人类可读的文本 所谓 语言模型 就是只用来处理语言文字 或者符号体系 的 AI 模型 发
  • C++模板类中的成员函数以及模板函数在类外定义的方式

    如下模板类 template
  • 零跑汽车财报解读:短跑“增程”双动力,长跑“自研”加速度

    3月21日晚间 零跑汽车交出了上市后的首份年度成绩单 纵观零跑汽车这份财报 其2022年的发展不乏亮点 2022年 零跑汽车实现营收123 85亿元 同比增长295 41 以远超行业的水平实现营收的迅速增长 充分证明了零跑汽车强大的经营韧性
  • opencv从内存缓冲区中读取图像数据

    1 从内存中加载图像数据 s Image Info stDispImgInfo spImgInfo gt m stDispInfo cv InputArray pic arr stDispImgInfo pImageBuf nWidth n
  • 如何ping一个网段下的所有IP地址,并保存返回结果

    循环的ping一个网段的所有IP地址 for L i in 1 1 255 do ping n 1 w 60 192 168 1 i find 回复 gt gt d pingall txt n 表示一次ping几次 w 表示一次ping60
  • 稳定性和高可用如何保障?一手测评华为云网站高可用解决方案

    一 前言 在如今科技高速发展的时代 几乎每个企业都依赖互联网 离不开互联网 很多企业的业务也都依托于互联网 比如我们熟知的电商 股市 直播 甚至是用于乘坐地铁 公交买票过闸的APP 如今可以说是一个互联网时代的完全体 但你们是否想过一个问题