论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
程序人生
›
接入层高可用架构设计:EdgeOne实战
接入层高可用架构设计:EdgeOne实战
种地
金牌会员
|
2023-11-13 01:33:24
|
显示全部楼层
|
阅读模式
楼主
主题
878
|
帖子
878
|
积分
2634
1. 背景
接触多家客户后,发现大家的接入层架构大都如下图所示,WAF/DDoS组件客户要么选其中之一,要么都不选或自荐。CLB后面挂CVM,CVM上面部署Nginx或者Kong等组件。从这个架构图可以看出,客户有考虑高可用,但仅关注自己的组件层面,没有关注外部基础设施(如DNS)、政策法规的影响、运营商链路的不稳定性等,所以往往并不不全面。要分析优化这个问题,就要先搞清楚接入层定义、接入层故障域和经典接入层架构的不足。
2. 什么是接入层
2.1 狭义接入层
我们通常理解的接入层,是直面用户的系统组件,具有公网IP的设备,如负载均衡器、公网Nginx、自研gateway等,从实践经验来看,大家讨论比较多的接入层高可用、稳定性往往是这个层面。(参考上面几种接入层架构图)
2.2 广义接入层
思考一下用户的请求是怎么到业务系统的?用户首先打开终端(浏览器、APP等),然后需要经过dns服务器解析出来域名的目标IP,然后经过公网,访问到了我们业务系统的公网组件;隐藏在其中的还有DNS的递归解析、运营商网络设备、国家管局的管控等。所有这些事项,都跟用户访问成功有关,我称它为广义接入层。如下图:
2.3 结论
那我们讨论接入层建设时,应该采用广义视角还是狭义视角?试想,如果运营商网络拥塞、路由绕行,用户访问你业务的请求没办法达成或延迟升高、此时你能说自己业务的可用性好么?所以,为了保证可用性,我倾向于从广义接入层角度来考虑稳定性建设。
3.接入层的故障域与应对方案
定义清楚我们要解决的接入层问题后,先看看接入层都会遇到什么样的故障以及潜在的应对方式。从下表(当然还有其他故障)可以看出,接入层的故障来源是多维度的,就需要我们针对每个维度做特定的设计。
4. 接入层实战
如果要实现上面故障域的解决,需要投入大量成本,比如自建接入点+自建专线;引入更多的故障点,比如访问链路上增加了DDoS/WAF;相应的运维成本也有极大的增加。还好云服务给我们带来了福音,这些功能都可以打包成一个服务。下面以腾讯云的EdgeOne为例,展示通过这个组件实现我们接入层稳定性实战。开始下面的文章之前,要先将域名接入EO,具体步骤参考官网(已经很清晰了)边缘安全加速平台 EO 从零开始快速接入 EdgeOne-快速入门,这里不再赘述
4.1 DNS故障和政策法规
4.1.1 单域名被封禁
域名被封禁,如果有备用域名,业务就不会立马中断,有时间去争取尽快解封。大概的流程是:
1、 先创建加速域名
2、 将备用域名解析到加速域名。这里可以接入test.xx.com和test2.xx.com做测试
具体操作参考边缘安全加速平台 EO 通过别称域名批量接入
4.1.2 Local DNS被劫持
可以借助HttpDNS,把备用域名通过CNAME解析到目标加速域名上,加速域名不对外提供服务,就可以规避Local DNS被劫持的问题。
4.2 接入层组件
采用EO后,接入层变成了如下架构:
从架构图可以看出,潜在风险在于EO集群可用性、源站可用性,这里EO产品也给出了高可用解决方案
4.2.1 源站高可用
从EO角度,源站高可用主要是指EO回源的冗余。EO提供了源站组的功能实现冗余。
1、新建源站组
2、添加域名
3、加速API
4、 配置成功
5、 验证访问加速域名,结果在0、1两个页面轮流出现
把0对应的设备关机够,页面就仅出现1了。ps:第一次需要等0对应的设备超时后,后面才会一直到1对应的设备。
由此可见,EO本身可以作为负载均衡器使用,用于后端配置多源站,实现源站高可用。
4.2.2 跨云调度实现
EO灾备从系统角度,EO本身也会出问题。EO提供了跨云调度的功能,实现EO本身的冗余。与源站高可用类似,可以将加速域名分配多加速服务上,按地域实现调度。当某个服务商故障时,可修改策略或走默认策略,实现跨云间调度
具体操作参考:边缘安全加速平台 EO 通过流量调度至多厂商服务-最佳实践-文档中心-腾讯云
4.3 运营商传统经过运营商的网络,对用户来讲是一个黑盒;采用EO后,我们就可以通过智能路由动态选路,如下图
4.3.1 CNAME加速
传统业务采用CDN时,大都采用CNAME方式,解析耗时相对于A记录,会有N倍的增加。原理如下:传统解析路径,一个CNAME解析会有多次交互
经过CNAME加速后,一次交互即可拿到结果,与A记录一致。
验证过程
1、 准备加速域名
2、 准备别称域名
3、 验证方式通过dig命令,来测试加速域名的目标域名及别称域名,如下图:
4、 验证结果
从上表可见,加速生效了
4.3.2 静态内容加速
大家都比较熟悉了,边缘节点更贴近用户,有效降低了数据访问时间延迟,避免数据传输抖动,保障大量数据传输的稳定性和有效性。
4.3.3 对于动态内容加速
原本用户访问是走公网传输,具体路径不可控导致延时不可控。从上面访问链路图可以见,EO产品借助自建专线提供了动态数据加速,跨国加速,智能路由优化等加速特性,保证高效支撑对时延敏感的相关业务。EO边缘节点到源站速度,经过专线加速后,相当于走了高速公路,避免路由绕行、拥塞的烦恼。
1、启用智能加速
2、配置加速域名
3、配置动态加速引擎
4、 测试结果通过下面测试,可以看出,相比于直通源站,加速后的域名离用户更近;然后加速节点走内网到达源站
4.4 安全提升
4.4.1 DDoS
分布式拒绝服务攻击(Distributed Denial of Service,DDoS)是指攻击者通过网络远程控制大量僵尸主机向一个或多个目标发送大量攻击请求,堵塞目标服务器的网络带宽或耗尽目标服务器的系统资源,导致其无法响应正常的服务请求。传统的防御方式,是在单一入口,提供更高的带宽+清洗能力来硬扛。但单一地域的带宽总有上限,而EO可以借助多地能力,最高支撑T级的防护带宽,安全感十足。防护种类也比较丰富,可以对SYN、ACK、ICMP等数据包做防护。
4.4.2 Web攻击
对于大部分互联网人员来说,SQL 注入、CC攻击、XSS 攻击、开源组件漏洞等多种攻击方式都不陌生,要么是自研WAF进行防御,要么是借助云厂商的WAF。现在EO默认集成了这些功能,运维成本、组件成本大大降低。
5. 其他
本文仅从基础设施角度展开接入层该有的样子,并没有讨论接入层的业务属性,比如降级、限流、熔断、统一认证等功能,预计后面展开聊聊。从整体功能来看,EO可以做到一站式的实现接入层的稳定性建设,值得尝试。对内容有任何疑问,可以在评论区找我留言讨论。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
种地
金牌会员
这个人很懒什么都没写!
楼主热帖
Beta 阶段事后分析
python经典习题(一)
mac下配置Charles,安装证书,连接iOS ...
图的基本术语,邻接矩阵、邻接表表示方 ...
DOS窗口命令和单表简单查询
SAP MM 进口采购业务中供应商多送或者 ...
Archlinux scarlett solo driver insta ...
基于华为云图引擎GES,使用Cypher子查 ...
地表最帅缓存Caffeine
Doris(五) -- 数据的导入导出
标签云
挺好的
服务器
快速回复
返回顶部
返回列表