首页 文章 精选 留言 我的

精选列表

搜索[热点技术征文第十期1024程序员节],共10010篇文章
优秀的个人博客,低调大师

【AWS征文】AWS网络演进

我们都知道,对于企业来讲,随着业务的发展和重点不同,对网络的实际需求也是不同的,尤其是对于公有云的网络架构,随着AWS的功能完善和发展,越来越多的网络功能得以实现。本文将结合实际案例讲述如何以及为什么从DX过渡到DX gateway的 DX时期的网络方案 企业上云绝非一蹴而就的事情,这就意味着必然存在着一个本地云与公有云共同存在的时期,这就涉及到了本地IDC与云上IDC的互通问题。因我们启用业务上云的方案较早,当时的 AWS还仅有DX的功能,通过此功能我们可以使用AWS合作伙伴专线将本地IDC与AWS连接起来。具体网络架构如下: DX的出现,使得企业可以通过DX的private VIF或者 public VIF将企业的分支/本地IDC与AWS连接起来。而为了实现高可用性,一般不会仅建立一个DX通道,可能会采用如下冗余方案: 两条不同ISP的专线通过不同DX location或者DX 设备连接到AWS的方案 一条ISP专线,一根Internet+IPsec ***的方案 一条ISP专线,一根SD-WAN线路的方案 两根***线路的方案,(可以是Internet+IPsec ***与SD-WAN的组合)等等而因为对线路的时延可靠性等要求,我们当时选择了第一种方案,如下所示。 DX双专线接入时,双活的实现 因AWS DX功能比较弱,无法通过AWS侧设备实现路由的选路,这就导致我们需要通过远端局点的路由控制来实现主备路径的选择,从而使得两条路径互为备份。 如果要选择ISP A的专线为主用线路,则需要如下配置: 1.在Customer GW A上,从ISP A 的EBGP邻居接收路由时,使用route-map修改local-preference的值,将local-preference设置的大于B线路的,使得IDC本地到AWS时,优选A线路。2.同时,在Customer GW B上向B线路的EBGP邻居发布路由时,使用route-map修改AS-path属性,在AS-path后增加几个as-path,使得AWS侧接收到B线路的路由为非优选路由。3.当然,为了切换便利性,我们可以一次性写两套A、B分别为主用线路时的route-map,通过自动化工具,实现路径的一键切换。 配置参考如下: Customer GW A上: route-policy IN_EBGP_A permit node 10 if-match ip-prefix AWS apply local-preference 200 route-policy OUT_EBGP_A permit node 10 if-match ip-prefix LOCAL_IDC route-policy IN_EBGP_B permit node 10 if-match ip-prefix AWS route-policy OUT_EBGP_B permit node 10 if-match ip-prefix LOCAL_IDC Apply as-path 64512 64512 add Customer GW B上: route-policy IN_EBGP_A permit node 10 if-match ip-prefix AWS route-policy OUT_EBGP_A permit node 10 if-match ip-prefix LOCAL_IDC Apply as-path 64512 64512 add route-policy IN_EBGP_B permit node 10 if-match ip-prefix AWS apply local-preference 200 route-policy OUT_EBGP_B permit node 10 if-match ip-prefix LOCAL_IDC 经过一段时间的运行和实践,发现该方案有很多不足之处。比如,因DX功能限制,从ISP A学到的路由会向ISP B传递,从而导致路由环路或者专线路由条目超限的问题等。在多次踩坑之后,痛定思痛,进行了DX到DX GW的改造。 DX Gateway是什么 先看一下没有DX gateway(以下简称DXGW)之前,如果要互联VPC是什么样的? 有了DXGW之后,又是什么样的呢? 每个DX Gateway都是跨所有公共AWS区域存在的全局对象,这就使得所有AWS区域之间可以通过网关进行所有的通信,大大减少了VIF的数量和BGP会话的数量,同时也简化了网络结构和维护成本。 更更重要的是,多了一个DXGW,相当于在DXGW侧多了一台路由器,路由多了一跳,从ISP A学到的路由再也不会默认向ISP B发布了,一劳永逸的解决了因DX功能限制而导致的路由环路和路由条目超限的问题。 DX Gateway如何实现双路径的选路? 改造为DX GW之后,双路径的主备切换和DX时保持一致,还是要通过企业本地IDC侧CE 上BGP的选路来控制的。配置同:DX双专线接入时,双活的实现。 DX Gateway的限制 当然,如此便利的DXGW也有一些限制条件,并不是任何时候都适用,限制如下: 关联到DXGW的VGW/VPC可以属于不同的区域,但必须属于同一个AWS账户 VPC不能使用重复的IP地址段 一个DXGW最多可关联10个VIF/VGW 关联到同一个DXGW的private VIF之间不能进行数据访问 关联到同一个DXGW的VGW之间不能进行数据访问

优秀的个人博客,低调大师

1024 节日快乐,zorm 1.6.2 发布

Go 轻量 ORM, 零依赖,零侵入分布式事务,支持达梦 (dm), 金仓 (kingbase), 神通 (shentong), 南通 (gbase),TDengine,mysql,postgresql,oracle,mssql,sqlite,db2,clickhouse... 源码地址:https://gitee.com/chunanyong/zorm 官网:https://zorm.cn 测试用例zorm-examples 基于原生 sql 语句,学习成本更低. 代码生成器 代码精简,主体 2500 行,零依赖 4000 行,注释详细,方便定制修改 支持事务传播,这是 zorm 诞生的主要原因 支持 mysql,postgresql,oracle,mssql,sqlite,db2,dm (达梦),kingbase (金仓),shentong (神通),gbase (南通),TDengine,clickhouse 支持多库和读写分离 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍) 集成 seata-golang,hptx,dbpack 支持全局托管,不修改业务代码,零侵入分布式事务 支持 clickhouse, 更新,删除语句使用 SQL92 标准语法.clickhouse-go 官方驱动不支持批量 insert 语法,建议使用https://github.com/mailru/go-clickhouse 更新: 重捕获panic,赋值给err,避免程序崩溃 增加sqlserver 和 oracle 分页默认order by 录制视频教程:https://www.bilibili.com/video/BV1L24y1976U/ 完善文档,注释

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册