从 IDC 到云原生:稳定性提升 100%,成本下降 50%,热联集团的数字化转型与未来展望

作者:金峰(项良)、朱永林、赵世振(寰奕)

公司简介

杭州热联集团股份有限公司成立于 1997 年 10 月,是隶属杭州市实业投资集团的国有控股公司。公司专业从事国际、国内钢铁贸易黑色大宗商品及产业服务,业务品种涵盖钢铁原料、钢铁产品及以铜为主的有色金属等。

2023 年,热联集团实现销售总量 9634 万吨,销售收入 2555 亿元,业绩增长 50%。

2016-2023 年,公司连续八年蝉联中国钢贸企业百强榜综合榜前三。入选国务院国资委“双百行动”企业名单,以及浙江省政府“凤凰计划”名单,被列入浙江省首批内外贸一体化“领跑者”培育企业。

目前热联集团的网点建设遍布国内 31 个城市及境外 17 个国家和地区,业务范围覆盖全球 52 个国家和地区。在全球钢铁、橡胶等大宗商品贸易行业,“热联”品牌享有优异的商业信誉和企业形象。

业务高速发展下面临的挑战

早期,热联自主研发了一系列垂直业务功能系统,包括大宗贸易相关的资金管理和交易系统(如保融资金管理系统、投资系统、量化交易系统等)、企业内部管理相关系统(如 HR 系统、报销系统、企业招投票系统等)、企业经营管理相关系统(如自研 ERP、租赁 SAAS 系统),以及物流交付相关系统(如配送系统、TM、WMS)。这些系统部署在 IDC 的自建 K8S 中,采用微服务架构,通过 Spring Cloud + Nacos 实现微服务应用间的远程调用和服务发现,并使用 APISIX 作为南北向网关,实现统一的认证、鉴权和入口流量管控。

然而,随着业务的迅速发展和品牌的日益壮大,原有的技术架构逐渐显露出多方面的瓶颈和挑战:

  1. 软件迭代效率低下: 由于所有业务都部署在 IDC 中,每次新业务上线或系统扩容时都需要经过复杂的招采流程,导致交付周期漫长,业务人员对效率问题怨声载道,运维人员也倍感压力。
  2. IT 运维难度大: 开源技术产品的复杂性要求运维人员具备较高的专业技能。例如,Nacos 和 APISIX 的安全漏洞修复和版本升级给运维人员带来了不小的挑战,尤其是出现问题后排查过程非常复杂。
  3. 稳定性难以保障: IDC 中的服务器和网络设备需要专门的供应商和 ISV 来维护,且面临设备过保等问题。部分开源中间件存在稳定性风险,特别是 APISIX,其部署架构包括控制台、服务端和 ETCD 三个组件。ETCD 作为核心中枢,负责存储和推送所有路由规则,一旦崩溃会导致整个网关不可用。由于 ETCD 的运维复杂且问题排查困难,每次崩溃后只能基于备份恢复并重启网关。
  4. 资源成本高: 热联的业务具有明显的峰谷特性,非工作时间段请求量极低。但由于招采流程复杂且对稳定性要求高,机房中长期需要冗余一定的机器资源,增加了运营成本。

为了解决这些问题,热联组建了一个由资深技术专家和运维人员组成的研究小组,对市场上的各种解决方案和多家云厂商进行了全面调研和比较,希望找到一套能够实现以下目标的云厂商:

  1. 核心技术必须是自主可控并且支持信创。
  2. 无缝的迁移现有的基础架构到完全符合云原生标准的技术栈,同时确保业务过渡时的无损。
  3. 在微服务架构的 Paas 层中间件和数据库等产品是业界权威且产品自身有很高的可靠性,并且经历了多年的市场验证。
  4. 灵活性至上,符合业界的主流规范、兼容开源,且提供较强的开放能力,企业可以根据自身的具体情况和标准自主定制,不受平台限制。

最终,热联在阿里云的专家团队的帮助下,找到了一条相对可行的解决路径,阿里云提出的全栈上云+云原生解决方案不仅可以满足热联提出的所有研发、运维和稳定的要求,还为企业未来的技术发展提供了强大的支持和灵活的扩展性。

热联的核心业务系统从 IDC 全栈迁移到阿里云后,稳定性提升了 100% 、研发效率提升了 30% 、综合成本下降了 50%

微服务架构的性能与稳定性提升

为了提升研发效率和稳定性、热联的核心业务系统都是微服务架构,开发语言以 Java 为主,并且全面拥抱了 Spring Cloud 的生态。一直以来热联对微服务技术都有比较高的追求。因此在云平台的选型上,微服务技术的相关产品需要满足高开放性、高成熟度、高普及度、高可用,四条标准缺一不可。

阿里云上的 MSE(微服务引擎)源自阿里巴巴微服务架构的最佳实践,是一个面向业界主流开源微服务生态的一站式微服务平台,提供注册配置中心、云原生网关、微服务治理和分布式任务调度能力。在高可用性方面自 08 年诞生以来历经了多年双十一考验。云上的商业化产品均是多可用区容灾架构,承诺可用性 SLA 99.95%。在高成熟度和高普及度方面,MSE 的注册中心 Nacos 和云原生网关 Higress 在开源社区都有比较强的影响力,并且产品的创始人团队稳定,出现问题后能第一时间找到专业的技术人员兜底。

因此,MSE 的 Nacos 和云原生网关就成了微服务技术平替的最佳选择。

APISIX 迁移到云原生网关

首先是网关的迁移,阿里的专家们在充分了解的热联 APISIX 的用法后,针对与我们目前 APISIX 上的所有功能用法,云原生网关都给出了功能对标文档和使用实践。

在迁移测试过程中,阿里的专家们,针对与我们提出的任何问题都能第一时间响应并快速解决问题,最典型的是在自定义认证鉴方面,原有热联使用的是 APISIX 的 forward-auth,forward-auth 插件实现鉴权比较灵活,用户可以任意定义鉴权服务并暴露鉴权服务的 url,然后鉴权完成后,可以通过 request header 把 clientip、目标路由的 url、token 都传递下去,而现有云原生网关默认的自定义鉴权无办法很好的满足需求,如果想用起来需要我们做一些代码改动。在了解到了我们的问题以后,阿里的专家们只用了 2 天时间就为我们提供了成熟且稳定的 ext-auth 插件,用于实现个性化的自定义鉴权。

在完成所有功能验证后,热联准备把全部流量迁移到云原生网关时,阿里的专家们为我们提供了平滑切流方案。

通过 DNS weight 的方式热联把所有网关流量都切到了云原生网关以后,再也没有出现过莫名其妙崩溃的问题,网关的可用性达到了 100%。 为什么能够取得这么好的结果呢?主要得益于以下几点:

  1. 云原生网关孵化自阿里内部,经过历年大促的验证,积累了一套高可用保障方案,从研发时、运行时、变更时来控制风险提升稳定性,在每个阶段各自有手段去保证其高可用目标。

  1. 可扩展性对于软件的重要性毋庸置疑,相比 APISIX 使用的 Lua 扩展机制,云原生网关既可以支持 Lua 扩展,同时也支持 Wasm(WebAssembly)扩展,Wasm 插件天然支持 C++、Rust、Golang、JS 等多语言编写,原生提供插件热插拔与插件配置热更新能力,毫秒级生效,配置变更对长连接无损,且 Wasm 插件运行在安全沙箱中,插件自身的漏洞或者异常崩溃不会影响网关宿主进程,对于异常崩溃的插件也提供了自恢复机制,无需人工干预。

在性能上,目前随着网络安全愈加受重视,现在互联网上已经普遍使用 HTTPS 进行传输加密,在网关侧,用于实现 HTTPS 的 TLS 非对称加密算法是占用 CPU 资源的大头。针对此场景,云原生网关使用了 CPU SIMD 技术实现了 TLS 加解密算法的硬件加速,通过压测数据表明云原生网关采用软硬一体的加速方案相比普通 HTTPS 请求 TLS 握手时延降低一倍,极限 QPS 提升 80% 以上。

在运维效率上,整体提升了 50%, 这主要得益于云原生网关本身是全托管、免运维的。无论实例的开通还是版本的升级亦或是规格的扩缩容都很方便,同时又提供了定时+按指标的弹性能力。令人惊喜的是云原生网关同阿里云上的数字证书管理、注册中心、微服务治理、ARMS、SLS 等产品都做了深度极成。

尤其是可观测方面,云原生网关提供了丰富的可观测数据,包括流量全局看板、日志检索、业务 TOP 榜、延迟/失败率/错误码等多种响应指标等,并辅以报警管理,使运维人员对服务的整体状态及异常情况尽在掌握。

开源 Nacos 迁移 MSE

热联通过 MSE SYNC 工具,把开源的 NACOS 服务都平滑的迁移到了商业版上面。

相较开源版的 Nacos,商业版产品在稳定性、性能和运维成本等方面都具备了明显的优势,这也极大的解放了研发和运维人员的生产力,让我们能更加专注业到务开发和运维上。

未来展望

热联集团在进行了云原生架构的升级与探索后,显著提升了业务系统的稳定性和敏捷性。这一转变不仅为公司冲击更高的销售目标奠定了坚实的技术基础,也标志着热联在数字化转型道路上迈出了关键一步。通过采用微服务、容器化等先进技术手段,热联能够更加灵活地响应市场变化,快速迭代产品和服务,满足客户日益增长的需求。

这只是热联云原生之旅的一个起点。随着对云原生技术更深层次的理解与应用,预计未来热联将在以下几个方面实现进一步突破:

  1. 持续增强系统稳定性: 基于云原生的最佳实践,如自动故障恢复机制、弹性伸缩能力等,可以有效降低因突发流量或硬件故障导致的服务中断风险,确保用户享受到无缝连接的优质体验。
  2. 大幅提升运营效率: 利用DevOps理念结合自动化工具链,加快软件开发周期的同时保证高质量交付,使得热联能够在竞争激烈的市场环境中保持领先优势。
  3. 优化成本结构: 通过精细化资源管理和按需付费模式,热联将能够更好地控制IT支出,释放更多资金投入到核心竞争力的构建上。
  4. 促进创新文化形成: 鼓励团队成员积极探索新技术新方法,营造开放包容的工作氛围,激发员工创造力,推动企业不断向前发展。

展望未来,热联将继续深化其在云原生领域的研究与实践,致力于成为国内领先乃至国际一流的全球化大宗商品产业服务商。我们相信,在强大技术支持下,热联定能在全球范围内树立起中国企业的良好形象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/476404.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画

Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画 🐸 前言 🐸🐞往期绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 小时候,每次打开电视…

SpringBoot学习记录(四)之分页查询

SpringBoot学习记录(四)之分页查询 一、业务需求1、基本信息2、请求参数3、相应数据 二、传统方式分页三、使用PageHelper分页插件 一、业务需求 根据条件进行员工数据的条件分页查询 1、基本信息 请求路径: /emps 请求方式: …

6. Spring Cloud Gateway网关超详细内容配置解析说明

6. Spring Cloud Gateway网关超详细内容配置解析说明 文章目录 6. Spring Cloud Gateway网关超详细内容配置解析说明前言1 Spring Cloud Gateway 概述1.1 Spring Cloud Gateway网关 的核心功能1.2 Spring Cloud Gateway VS Zuul 的区别1.3 Spring Cloud Gateway 的基本原理1.4 …

远程管理不再难!树莓派5安装Raspberry Pi OS并实现使用VNC异地连接

前言:大家好!今天我要教你们如何在树莓派5上安装Raspberry Pi OS,并配置SSH和VNC权限。通过这些步骤,你将能够在Windows电脑上使用VNC Viewer,结合Cpolar内网穿透工具,实现长期的公网远程访问管理本地树莓派…

Centos 8, add repo

Centos repo前言 Centos 8更换在线阿里云创建一键更换repo 自动化脚本 华为Centos 源 , 阿里云Centos 源 华为epel 源 , 阿里云epel 源vim /centos8_repo.sh #!/bin/bash # -*- coding: utf-8 -*- # Author: make.han

【机器学习】回归模型(线性回归+逻辑回归)原理详解

线性回归 Linear Regression 1 概述 线性回归类似高中的线性规划题目。线性回归要做的是就是找到一个数学公式能相对较完美地把所有自变量组合(加减乘除)起来,得到的结果和目标接近。 线性回归分为一元线性回归和多元线性回归。 2 一元线…

2024年亚太地区数学建模大赛D题-探索量子加速人工智能的前沿领域

量子计算在解决复杂问题和处理大规模数据集方面具有巨大的潜力,远远超过了经典计算机的能力。当与人工智能(AI)集成时,量子计算可以带来革命性的突破。它的并行处理能力能够在更短的时间内解决更复杂的问题,这对优化和…

STM32F103 GPIO和串口实战

本节我们将会对STM32F103的硬件资源GPIO和串口进行介绍。 一、GPIO 1.1 电路原理图 LED电路原理图如下图所示: 其中: LED1连接到PA8引脚,低电平点亮;LED2连接到PD2引脚,低电平点亮; 1.2 GPIO引脚介绍 STM32…

FileProvider高版本使用,跨进程传输文件

高版本的android对文件权限的管控抓的很严格,理论上两个应用之间的文件传递现在都应该是用FileProvider去实现,这篇博客来一起了解下它的实现原理。 首先我们要明确一点,FileProvider就是一个ContentProvider,所以需要在AndroidManifest.xml里面对它进行声明: <provideran…

国产linux系统(银河麒麟,统信uos)使用 PageOffice 动态生成word文件

PageOffice 国产版 &#xff1a;支持信创系统&#xff0c;支持银河麒麟V10和统信UOS&#xff0c;支持X86&#xff08;intel、兆芯、海光等&#xff09;、ARM&#xff08;飞腾、鲲鹏、麒麟等&#xff09;、龙芯&#xff08;LoogArch&#xff09;芯片架构。 数据区域填充文本 数…

《Python制作动态爱心粒子特效》

一、实现思路 粒子效果&#xff1a; – 使用Pygame模拟粒子运动&#xff0c;粒子会以爱心的轨迹分布并运动。爱心公式&#xff1a; 爱心的数学公式&#xff1a; x16sin 3 (t),y13cos(t)−5cos(2t)−2cos(3t)−cos(4t) 参数 t t 的范围决定爱心形状。 动态效果&#xff1a; 粒子…

[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法

本文由Markdown语法编辑器编辑完成。 1. 需求背景: 最近在启动一个服务时&#xff0c;突然发现它的一个接口&#xff0c;被另一个服务ip频繁的请求。 按理说&#xff0c;之前设置的是&#xff0c;每隔1分钟请求一次接口。但从日志来看&#xff0c;则是1秒钟请求一次&#xff…

JDK、MAVEN与IDEA的安装与配置

1.认识JDK、MAVEN与IDEA JDK 提供了编译和运行Java程序的基本环境。Maven 帮助管理项目的构建和依赖。IDEA 提供了一个强大的开发环境&#xff0c;使得编写、调试和运行Java程序更加高效。 2. 安装与环境配置 2.1 官网地址 选择你需要的版本下载&#xff1a; MAVEN下载传送…

C++标准模板库 -- map和set

序列式容器和关联式容器 在本篇文章之前&#xff0c;我们已经接触了STL中的部分容器&#xff1a;如string、vector、list、deque、array、forward_list等&#xff0c;这些容器被统称为序列式容器&#xff0c;因为逻辑结构为线性序列的数据结构&#xff0c;两个位置存储的值一般…

【Xbim+C#】创建圆盘扫掠IfcSweptDiskSolid

基础回顾 https://blog.csdn.net/liqian_ken/article/details/143867404 https://blog.csdn.net/liqian_ken/article/details/114851319 效果图 代码示例 在前文基础上&#xff0c;增加一个工具方法&#xff1a; public static IfcProductDefinitionShape CreateDiskSolidSha…

Flutter踩坑记录(三)-- 更改入口执行文件

我们在flutter 中可能不习惯默认的lib/main.dart 作为入口文件&#xff0c;会修改成index.dart 或者修改main.dart的位置, 用Andorid studio开发 如果我们用Andorid studio开发&#xff0c;默认修改一下配置地址 运行项目即可。 用VSCode开发 如果我们使用VSCode开发&…

AbsPlus框架介绍2

ABSPlus框架以其集成的多功能性在市场上脱颖而出。它不仅提供美观且符合主流风格的页面设计&#xff0c;还支持灵活的流程配置&#xff0c;包括算法处理流程和页面审批流程。在众多业务系统中&#xff0c;流程管理往往是核心且复杂的挑战&#xff0c;涉及数据库设计、页面开发以…

算法.图论-习题全集(Updating)

文章目录 本节设置的意义并查集篇并查集简介以及常见技巧并查集板子(洛谷)情侣牵手问题相似的字符串组岛屿数量(并查集做法)省份数量移除最多的同行或同列石头最大的人工岛找出知晓秘密的所有专家 建图及其拓扑排序篇链式前向星建图板子课程表 本节设置的意义 主要就是为了复习…

使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像

文章目录 应用快速部署NginxRedisMySQLTomcat 制作镜像镜像原理基于已有容器创建使用 Dockerfile 创建镜像指令说明构建应用创建 Dockerfile 文件创建镜像 应用快速部署 Nginx docker run -d -p 80:80 nginx使用浏览器访问虚拟机地址 Redis docker pull redis docker run --…

图像处理 之 凸包和最小外围轮廓生成

“ 最小包围轮廓之美” 一起来欣赏图形之美~ 1.原始图片 男人牵着机器狗 2.轮廓提取 轮廓提取 3.最小包围轮廓 最小包围轮廓 4.凸包 凸包 5.凸包和最小包围轮廓的合照 凸包和最小包围轮廓的合照 上述图片中凸包、最小外围轮廓效果为作者实现算法生成。 图形几何之美系列&#…