接入层高可用架构设计:EdgeOne实战

这篇具有很好参考价值的文章主要介绍了接入层高可用架构设计:EdgeOne实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 背景

接触多家客户后,发现大家的接入层架构大都如下图所示,WAF/DDoS组件客户要么选其中之一,要么都不选或自荐。CLB后面挂CVM,CVM上面部署Nginx或者Kong等组件。从这个架构图可以看出,客户有考虑高可用,但仅关注自己的组件层面,没有关注外部基础设施(如DNS)、政策法规的影响、运营商链路的不稳定性等,所以往往并不不全面。要分析优化这个问题,就要先搞清楚接入层定义、接入层故障域和经典接入层架构的不足。
接入层高可用架构设计:EdgeOne实战

2. 什么是接入层

2.1 狭义接入层

我们通常理解的接入层,是直面用户的系统组件,具有公网IP的设备,如负载均衡器、公网Nginx、自研gateway等,从实践经验来看,大家讨论比较多的接入层高可用、稳定性往往是这个层面。(参考上面几种接入层架构图)

2.2 广义接入层

思考一下用户的请求是怎么到业务系统的?用户首先打开终端(浏览器、APP等),然后需要经过dns服务器解析出来域名的目标IP,然后经过公网,访问到了我们业务系统的公网组件;隐藏在其中的还有DNS的递归解析、运营商网络设备、国家管局的管控等。所有这些事项,都跟用户访问成功有关,我称它为广义接入层。如下图:
接入层高可用架构设计:EdgeOne实战

2.3 结论

那我们讨论接入层建设时,应该采用广义视角还是狭义视角?试想,如果运营商网络拥塞、路由绕行,用户访问你业务的请求没办法达成或延迟升高、此时你能说自己业务的可用性好么?所以,为了保证可用性,我倾向于从广义接入层角度来考虑稳定性建设。

3.接入层的故障域与应对方案

定义清楚我们要解决的接入层问题后,先看看接入层都会遇到什么样的故障以及潜在的应对方式。从下表(当然还有其他故障)可以看出,接入层的故障来源是多维度的,就需要我们针对每个维度做特定的设计。
接入层高可用架构设计:EdgeOne实战

4. 接入层实战

如果要实现上面故障域的解决,需要投入大量成本,比如自建接入点+自建专线;引入更多的故障点,比如访问链路上增加了DDoS/WAF;相应的运维成本也有极大的增加。还好云服务给我们带来了福音,这些功能都可以打包成一个服务。下面以腾讯云的EdgeOne为例,展示通过这个组件实现我们接入层稳定性实战。开始下面的文章之前,要先将域名接入EO,具体步骤参考官网(已经很清晰了)边缘安全加速平台 EO 从零开始快速接入 EdgeOne-快速入门,这里不再赘述

4.1 DNS故障和政策法规

4.1.1 单域名被封禁

域名被封禁,如果有备用域名,业务就不会立马中断,有时间去争取尽快解封。大概的流程是:
1、 先创建加速域名
接入层高可用架构设计:EdgeOne实战

2、 将备用域名解析到加速域名。这里可以接入test.xx.com和test2.xx.com做测试
接入层高可用架构设计:EdgeOne实战

具体操作参考边缘安全加速平台 EO 通过别称域名批量接入

4.1.2 Local DNS被劫持

可以借助HttpDNS,把备用域名通过CNAME解析到目标加速域名上,加速域名不对外提供服务,就可以规避Local DNS被劫持的问题。

4.2 接入层组件

采用EO后,接入层变成了如下架构:
接入层高可用架构设计:EdgeOne实战

从架构图可以看出,潜在风险在于EO集群可用性、源站可用性,这里EO产品也给出了高可用解决方案

4.2.1 源站高可用

从EO角度,源站高可用主要是指EO回源的冗余。EO提供了源站组的功能实现冗余。
1、新建源站组
接入层高可用架构设计:EdgeOne实战

2、添加域名
接入层高可用架构设计:EdgeOne实战

3、加速API
接入层高可用架构设计:EdgeOne实战

4、 配置成功
接入层高可用架构设计:EdgeOne实战

5、 验证访问加速域名,结果在0、1两个页面轮流出现
接入层高可用架构设计:EdgeOne实战

把0对应的设备关机够,页面就仅出现1了。ps:第一次需要等0对应的设备超时后,后面才会一直到1对应的设备。
接入层高可用架构设计:EdgeOne实战

由此可见,EO本身可以作为负载均衡器使用,用于后端配置多源站,实现源站高可用。

4.2.2 跨云调度实现

EO灾备从系统角度,EO本身也会出问题。EO提供了跨云调度的功能,实现EO本身的冗余。与源站高可用类似,可以将加速域名分配多加速服务上,按地域实现调度。当某个服务商故障时,可修改策略或走默认策略,实现跨云间调度
接入层高可用架构设计:EdgeOne实战

具体操作参考:边缘安全加速平台 EO 通过流量调度至多厂商服务-最佳实践-文档中心-腾讯云

4.3 运营商传统经过运营商的网络,对用户来讲是一个黑盒;采用EO后,我们就可以通过智能路由动态选路,如下图

接入层高可用架构设计:EdgeOne实战

4.3.1 CNAME加速

传统业务采用CDN时,大都采用CNAME方式,解析耗时相对于A记录,会有N倍的增加。原理如下:传统解析路径,一个CNAME解析会有多次交互
接入层高可用架构设计:EdgeOne实战

经过CNAME加速后,一次交互即可拿到结果,与A记录一致。
接入层高可用架构设计:EdgeOne实战

验证过程
1、 准备加速域名
接入层高可用架构设计:EdgeOne实战

2、 准备别称域名
接入层高可用架构设计:EdgeOne实战

3、 验证方式通过dig命令,来测试加速域名的目标域名及别称域名,如下图:
接入层高可用架构设计:EdgeOne实战

4、 验证结果
接入层高可用架构设计:EdgeOne实战

从上表可见,加速生效了

4.3.2 静态内容加速

大家都比较熟悉了,边缘节点更贴近用户,有效降低了数据访问时间延迟,避免数据传输抖动,保障大量数据传输的稳定性和有效性。

4.3.3 对于动态内容加速

原本用户访问是走公网传输,具体路径不可控导致延时不可控。从上面访问链路图可以见,EO产品借助自建专线提供了动态数据加速,跨国加速,智能路由优化等加速特性,保证高效支撑对时延敏感的相关业务。EO边缘节点到源站速度,经过专线加速后,相当于走了高速公路,避免路由绕行、拥塞的烦恼。
1、启用智能加速
接入层高可用架构设计:EdgeOne实战

2、配置加速域名
接入层高可用架构设计:EdgeOne实战

3、配置动态加速引擎
接入层高可用架构设计:EdgeOne实战

4、 测试结果通过下面测试,可以看出,相比于直通源站,加速后的域名离用户更近;然后加速节点走内网到达源站
接入层高可用架构设计:EdgeOne实战

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可以做到一站式的实现接入层的稳定性建设,值得尝试。对内容有任何疑问,可以在评论区找我留言讨论。文章来源地址https://www.toymoban.com/news/detail-710947.html

到了这里,关于接入层高可用架构设计:EdgeOne实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES+Redis+MySQL,这个高可用架构设计太顶了

       一、背景 二、ES高可用方案 三、会员Redis缓存方案 四、高可用会员主库方案 五、异常会员关系治理 六、展望:更精细化的流控和降级策略    会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是

    2024年02月05日
    浏览(67)
  • 腾讯EdgeOne产品测评体验——多重攻击实战验证安全壁垒:DDoS攻击|CC压测|Web漏洞扫描|SQL注入

    🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 在一个阳光明媚的下午,我收到了一个特别的邀请:对腾讯云EdgeOne(简称EO),一款致力于提速和加强网站安全的边缘安全加速平台,进行深度

    2024年04月17日
    浏览(44)
  • 分布式系统与人工智能高可用性架构设计与实现

    作者:禅与计算机程序设计艺术 随着人工智能、云计算、容器技术等新兴技术的不断涌现和深入应用,越来越多的企业和组织都将重点放在自身的AI系统开发及管理之上,面临分布式环境下的AI系统的高可用性和可靠性问题,如何构建并实施一个可用的分布式AI系统架构,成为

    2024年02月06日
    浏览(58)
  • 网络分级设计模型的三层架构:接入层、汇聚层、核心层到底有什么说法?

    你好,这里是网络技术联盟站。 在现代网络中,为了满足不同规模和需求的组织和企业的通信需求,网络架构通常会划分为多个层次,其中包括接入层、汇聚层和核心层。这些层次在网络组网中扮演着不同的角色和功能。 本文将详细介绍接入层、汇聚层和核心层的定义、特

    2024年02月10日
    浏览(42)
  • 【MySQL】高性能高可用表设计实战-表设计篇(MySQL专栏启动)

    📫作者简介: 小明java问道之路,专注于研究 Java/ Liunx内核/ C++及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。   📫 热衷分享,喜欢原创~ 关注我会给你带来一些不一样

    2024年02月11日
    浏览(46)
  • 架构设计内容分享(一百三十三):ES+Redis+MySQL高可用,如何试实现?

    目录 背景: ES 高可用方案: ES 双中心主备集群架构 ES 流量隔离三集群架构 ES 集群深度优化提升 会员 Redis 缓存方案: ES 近一秒延时导致的 Redis 缓存数据不一致问题的解决方案 Redis 双中心多集群架构 高可用会员主库方案: MySQL 双中心 Partition 集群方案 会员主库平滑迁移方

    2024年02月22日
    浏览(50)
  • 【企业架构设计实战】4 应用架构设计

    前言 企业IT架构包括应用架构、数据架构和技术架构 ,企业IT架构与业务架构共同构成了企业架构的核心内容。接下来重点介绍IT架构中的应用架构。 应用架构是对企业所有应用系统、服务及它们之间交互关系的整体描述,反映应用系统如何支撑业务运行及未来业务发展,同

    2023年04月09日
    浏览(34)
  • 【企业架构设计实战】2 业务架构设计

    业务架构(Business Architecture)来自业务,我们先来看看什么是“业务”。 在百度百科中,业务被定义为“ 各行业中需要处理的事务,但通常偏向指与销售有关的事务,企业最终主要以销售产品、销售服务、销售技术等为主要盈利模式。 ” 在 TOGAF 中,业务被定义为“ 任何与

    2024年01月17日
    浏览(37)
  • 【架构设计】高并发架构实战:从需求分析到系统设计

      很多软件工程师的职业规划是 成为架构师 ,但是要成为架构师很多时候要求 先有架构设计经验 ,而不做架构师又怎么会有架构设计经验呢?那么要 如何获得架构设计经验 呢? 高并发是指系统在同一时间内处理的请求量非常大,通常是指每秒处理的请求量达到数千到数百

    2024年02月15日
    浏览(59)
  • 立即可用的实战源码(springboot+redis+mybatis,c语言程序设计小程序

    @Autowired StudentMapper studentMapper; @Autowired private RestTemplate restTemplate; @Value(“${serviceb.baseurl}”) private String baseUrl; @RequestMapping(value = “/get/{id}”, method = RequestMethod.GET) public String get(@PathVariable(“id”) Integer id) { String rlt = restTemplate.getForObject(baseUrl + “get/” + id,String.class); if(StringUt

    2024年04月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包