
本文共 2524 字,大约阅读时间需要 8 分钟。
项目改造经验分享:云原生架构优化与运维升级
作为兼职,这个项目让我深刻体会到云原生架构优化的重要性,也让我对技术改造的价值有了更深刻的理解。下面将从项目背景、改造思路、具体实施方案到效果提升几个方面,分享我的想法与体验。
项目背景
在项目接手前,公司多云平台间采用公网通信,主要依赖上海阿里云的TIDB数据库集群作为核心。虽然集群规模较大,却存在多个问题:首先,数据库仅部署在上海,其余地域并无备份机制;其次,缺乏合理的负载均衡和服务分流方案,导致访问延迟严重;最后,网络安全性不足,以至于公网连接容易受到攻击风险。
值得一提的是,原有的架构主要面临以下挑战:
为了应对这些挑战,我对整个架构进行了全方位的改造和优化,目的是打造一个高性能、高可靠、分布式的云原生架构。
改造思路
在完成充分的业务梳理和技术调研后,我制定了以下改造思路:
通过多云平台整合,实现资源整合与优化:利用混合云Kubernetes集群构建服务丰富的调度平台,实现多云资源的统一管理。
引入多地域分布式数据库:采用阿里云PolarDB,结合GDN网络,实现数据库的高强度并发处理能力和跨地域读写能力。
构建高可靠性的网络架构:通过阿里云的GA和GTM全球负载均衡服务,实现服务的智能分流,减少延迟带来更优用户体验。
细化现有服务,提升运行效率:对核心接入层服务进行重写,采用Go语言实现,以提升业务处理性能。
构建全面的安全防护体系:通过VPC对等连接和SDN网络实现多地内网互联,搭配阿里云防火墙,确保持اتر网络的安全性。
改造方案
以下将详细介绍改造的主要方案和实施结果:
1. 接入层优化
改造前:全国用户都通过上海阿里云AK那里的Higress核心网关接入,虽然有5个地域的K8s集群可用,但资源利用率低,服务切换能力差,且调度方案未优化。
改造后:
- 采用阿里云GA和GTM作为全球负载均衡,实现用户请求的智能分流。北京用户访问本地AK,上海用户访问本地K8s,等等。通过这种方式,用户可以享受到最低延迟的访问体验。
- 配置HTTP表示的ALB(application load balancer),监控服务健康状态,设置健康检查策略,保障服务连续性。
方案亮点:
- 服务分流更智能,用户访问速度提升3-5倍。
- ALB的自愈功能保障了服务的稳定性,避免由于单点故障导致流量中断。
- 有助于负载均衡和流量调度,使K8s集群资源得到更充分的利用。
2. 数据库优化
改造前:使用TIDB数据库服务,部署于上海阿里云ACK集群,并未配置异地备份,仍处于单点风险状态。数据存储量大,处理效率低,且难以进行实时数据分析。
改造后:
- 采用阿里云PolarDB数据库服务,结合GDN网络,部署三地活:key的多活集群。上海、北京、深圳的各个K8s集群都部署了PolarDB队列,保障数据读写能力。
- 引入ClickHouse和ManticoreSearch,支持复杂查询和高效建模。针对时序数据,新增InfluxDB数据库进行存储和分析。
- 优化数据量规模,将小数据存入PolarDB,大数据回流至HBASE集群。
方案亮点:
- 数据库延迟大幅降低,业务响应速度提升5倍以上。
- 数据存储资源更加优化,处理能力和并发能力显著提升。
- 支持混合模式数据分析,为后续AI大数据项目奠定基础。
3. 安全性提升
改造前:数据库与外部服务连接主要通过公网接入,存在攻击风险。此外,各地云平台之间多依赖公网IP互联,网络安全管控不足。
改造后:
- 所有数据库连接改用企业VPC对等连接,全地网内访问保障。
- 非阿里云平台实现了与阿里云的SDN网络互联,确保内网访问的稳定性。
- dokuhai火墙和日志管理系统(Arctic)进行全链路保护,网络流量可追溯性强。
- 对每个地域都部署了两个ALB,实现服务的active-active切换,保障服务可用性。
方案亮点:
- 数据库安全性迥升,业务调整通过内网连接,大幅降低接入压力。
- 企业内部网络架构更简洁,网络攻击风险明显降低。
- 服务切换实现了无锁 듯的效率,保障了核心业务的稳定性。
4. IT办公环境优化
改造前:员工办公环境混乱,互联网端口开放直接访问,缺乏统一的管理体系。
改造后:
- 推广阿里云的无影云桌面作为主要工作环境,初期覆盖所有开发与测试人员。
- 引入深信服运维服务,部署零信任安全体系,对所有生产环境进行全面审计。
- 部署阿里云日志服务(SLS),将所有运维日志存储180天,便于审计和问题追查。
方案亮点:
- 办公环境标准化,便于管理和维护。
- 通过深信服的工 Mev(合规与风险管理)服务,全面提升运维能力。
- 日志存储和审计功能明显增强,保障企业运营的合规性。
5. 服务性能最大的重构
这次项目还有一个重要变化:我对核心接入层服务进行了重构,采用Go语言对之前的Java服务进行了替换。以下是改造前的与改造后的对比:
- 改造前:采用Nginx直接转发接入层,服务处理能力有限。
- 改造后:使用Nginx与Go的factcgi模块结合,直接调用Go语言写的业务处理逻辑。这种方式不仅大幅提升了处理性能,还实现了更高的并发能力。
改造成果
经过这次改造,公司的技术架构和运维能力得到了显著提升。主要显著指标包括:
此外,通过整合多云平台,公司的资源利用效率得到了进一步提升,初期整合成本较低,但长期将带来更高的资源使用效率。
总结
这次项目让我对云原生架构的重要性有了更深刻的理解,同时也让我意识到持续技术改进的含金量。希望这篇文章能为有类似经验的技术工作者提供一些思路和参考。
发表评论
最新留言
关于作者
