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

news2024/11/20 0:29:41

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

公司简介

杭州热联集团股份有限公司成立于 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.coloradmin.cn/o/2243709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

说说软件工程中的“协程”

在软件工程中,协程(coroutine)是一种程序运行的方式,可以理解成“协作的线程”或“协作的函数”。以下是对协程的详细解释: 一、协程的基本概念 定义:协程是一组序列化的子过程,用户能像指挥家…

MinIO 的 S3 over RDMA 计划: 为高速人工智能数据基础设施设定对象存储新标准

随着 AI 和机器学习的需求不断加速,数据中心网络正在迅速发展以跟上步伐。对于许多企业来说,400GbE 甚至 800GbE 正在成为标准选择,因为数据密集型和时间敏感型 AI 工作负载需要高速、低延迟的数据传输。用于大型语言处理、实时分析和计算机视…

怀旧游戏打卡清单(TODO)

感觉忙碌了好久好久,真的好想休息一下。。 整理一下将来休息时候的打卡清单,不工作了去个海边狂打游戏,想想就惬意啊。当然,最好找个work from home,去海边找个酒店上班。挣钱休息两不误。。。 能不能实现另说&#xf…

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

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

使⽤MATLAB进⾏⽬标检测

目录 数据准备定义模型并训练用测试集评估性能推理过程⼀⾏代码查看⽹络结构⼀⾏代码转onnx结语 ⼈⽣苦短,我⽤MATLAB。 Pytorch在深度学习领域占据了半壁江⼭,最主要的原因是⽣态完善,⽽且api直观易⽤。但谁能想到现在MATLAB⽤起来⽐Pytorch…

word-毕业论文的每一章节的页眉单独设置为该章的题目怎么设置

在Microsoft Word中,为毕业论文的每个章节设置不同的页眉,通常需要使用“分节符”来分隔各个章节,然后在每个章节中单独设置页眉。以下是详细步骤: 使用分节符 插入分节符: 将光标放在每个章节的末尾(注意…

【简历】25届江苏二本JAVA简历:本末倒置,重点部分格式错误,不重要的写了一堆

简历总体说明 校招的第一法则就是必须要确定校招层次。 开发岗分为大中小厂,不同的层次对学校背景、时间点、项目和考点的要求都不太一样,所以必须要确定就业的层次。 这是一个25届二本同学的JAVA简历。 最近不知道怎么回事,看两份简历都…

字母异位词分组(java)

题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单shilie 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "n…

fpga spi回环

SPI设备间的数据传输之所以又被称为数据交换,是因为 SPI协议规定一个 SPI设备 不能在数据通信过程中仅仅只充当一个"发送者(Transmitter)“或者"接收者 (Receiver)”.在每个 Clock 周期内,SPI 设备都会发送并接收一个 bit 大小的数据(不管主 设备好还是从设备),相当于…

计算机网络-理论部分(二):应用层

网络应用体系结构 Client-Server客户-服务器体系结构:如Web,FTP,Telnet等Peer-Peer:点对点P2P结构,如BitTorrent 应用层协议定义了: 交换的报文类型,请求or响应报文类型的语法字段的含义如何…

路由器基本原理与配置

一 , 路由是什么? 从源主机到目标主机的转发过程; 二 , 路由器 (1)路由器的工作原理 路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务&#xff0c…

windows的WSL Ubuntu子系统重置root或其他用户的密码

思路:以管理员身份运行PowerShell,在命令行窗口重置密码 ,不需要删除或重新安装Linux子系统。 1、以管理员身份运行PowerShell 2、用root用户启动Ubuntu,执行 wsl.exe --user root 3、重置密码,执行passwd username&…

autoDL微调训练qwen2vl大模型

autodl是一家GPU服务厂商,提供专业的GPU租用服务,秒级计费、稳定好用 先去autodl把官方的帮助文档看懂先 AutoDL帮助文档 autodl注册并登陆,充钱,根据自己的情况租用新实例 创建新实例后马上关机,因为有个省钱的办法…

9.2 使用haarcascade_frontalface_default.xml分类器检测视频中的人脸,并框出人脸位置。

1)程序代码: # 2.使用haarcascade_frontalface_default.xml分类器检测视频中的人脸,并框出人脸位置 import cv2# 加载人脸检测的 Haar 级联分类器 face_cascade cv2.CascadeClassifier(./data/haarcascades/haarcascade_frontalface_defaul…

K8S containerd拉取harbor镜像

前言 接前面的环境 K8S 1.24以后开始启用docker作为CRI,这里用containerd拉取 参考文档 正文 vim /etc/containerd/config.toml #修改内容如下 #sandbox_image "registry.aliyuncs.com/google_containers/pause:3.10" systemd_cgroup true [plugins.…

ARM64环境部署EFK8.15.3收集K8S集群容器日志

环境规划 主机IP系统部署方式ES版本CPU架构用户名密码192.168.1.225Ubuntu 22.04.4 LTSdockerelasticsearch:8.15.3ARM64elasticllodyi4TMmZD ES集群部署 创建持久化目录(所有节点) mkdir -p /data/es/{data,certs,logs,plugins} mkdir -p /data/es/certs/{ca,es01}服务器…

前端小练习——星辰宇宙(JS没有上限!!!)

前言:在刚开始学习前端的时候,我们会学习到前端三件套中的JavaScript,可能那时候读者没有觉得JavaScript这个语言有多么的牛逼,本篇文章将会使用一个炫酷的案例来刷新你对JavaScript这个语言的认知与理解。 ✨✨✨这里是秋刀鱼不做…

图文教程 | 2024年IDEA安装使用教程,JDK简易下载方法

前言 📢博客主页:程序源⠀-CSDN博客 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 目录 一、IDEA安装 二、激活 三、JDK安装 四、JDK环境配置 五、验证 一、IDEA安装 进入官网下载: Other…

【阅读记录-章节2】Build a Large Language Model (From Scratch)

目录 2.Working with text data2.1 Understanding word embeddings2.2 Tokenizing text通过一个简单的实验来理解文本的词元化概念关键概念 2.3 Converting tokens into token IDs实现分词器类(Tokenizer Class)应用分词器测试文本的编码与解码通过分词器…

已有docker增加端口号,不用重新创建Docker

已有docker增加端口号,不用重新创建Docker 1. 整体描述2. 具体实现2.1 查看容器id2.2 停止docker服务2.3 修改docker配置文件2.4 重启docker服务 3. 总结 1. 整体描述 docker目前使用的非常多,但是每次更新都需要重新创建docker,也不太方便&…