云原生架构案例分析_1.某旅行公司云原生改造

        随着云计算的普及与云原生的广泛应用,越来越多的从业者、决策者清晰地认识到“云原生化将成为企业技术创新的关键要素,也是完成企业数字化转型的最短路径”。因此,具有前瞻思维的互联网企业从应用诞生之初就扎根于云端,谨慎稳重的新零售、政府、金融、医疗等领域的企业与机构也逐渐将业务应用迁移上云,深度使用云原生技术与云原生架构。面对架构设计、开发方式到部署运维等不同业务场景,基于云原生架构的应用通常针对云的技术特性进行技术生命周期设计,最大限度利用云平台的弹性、分布式、自助、按需等产品优势

        名词解释:

        OTA:全称为Online Travel Agency,中文译为“在线旅行社”即在线酒店、旅游、票务等预订系统平台统称。目前的线上酒店行业平台主要分为三个阵营:携程系、美团系、飞猪系。

        MAU(Monthly Active User)是一个用户数量统计名词,用于反映网站、互联网应用或网络游戏的运营情况的统计指标。月活跃用户数量通常统计一个月(统计月)之内,登录或使用了某个产品的用户数(去除重复登录的用户)。        

1.背景与挑战 

          业务量的增长让某旅行的技术团队感到欣喜,但另一方面这也意味着团队需要直面高流量带来的新挑战,云原生改造成了解决问题的关键。

        某旅行公司主要面临两个问题。首先,由于刚和某网完成公司主体合并不久,两个前身公司各自存在着不同技术体系的构建、发布等系统,这些系统随着公司业务的逐步整合,也必须在技术层面做进一步的收敛,以达到平台统一的目的。同时,在线旅行业务具有较明显的业务波动特性,在基督、节假日、每日时段上都有比较突出的波峰波谷特性。这样的业务特性对技术资源的整体利用率波动影响较大。所以此次云原生改造也面临了不小的挑战。        

2.基于云原生架构的解决方案

图1 某旅行公司云原生平台架构图 

3.应用效益 

         通过第一阶段改造,订单业务从原先独享机器集群切换到了共享机器集群,仅使用之前独享机器集群40%的机器就完成了对全线服务业务的支撑,同时由于调度算法加入了自研的服务画像技术作为默认调度属性,资源调度的稳定性不降反升。并且同程旅行已实现纳入到该平台部分单机资源利用率提升了20|%,并通过云原生化的旧应用改造,下掉了当时集群内一半的服务器和相应的机房水电资源。

        通过第二阶段改造,原本用来应对季节性流量高峰期而采购的机器资源开始减少。通过判断服务当前冗余度来缩容线上服务的实例数,平台可以用最小的实例数量提供线上服务,而节省下来的资源可以提供给离线业务混合部署使用。并且在不额外新增机器的情况下额外获得的算力,成功支持了屡次创纪录的峰值流量。同时Service Balance系统可以在服务性能受损时自动尝试修复该节点性能,使得平台能够以较低的成本稳定运行。并借用弹性计算成功撑住爆款应用带来的日常流量300%的峰值流量,也顶住了2021年上半年的屡次刷新公司峰值流量,为公司同类业务场景提供了坚实的技术支撑。

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

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

相关文章

BMC压力测试脚本

说明 对于研发阶段而言,需要对BMC执行压力测试,可以提前发现问题,修复问题,提高产品稳定性。 大体而言,需要做到几个方面: 1.预先发现是否会造成BMC hang机。2.进程是否会发生重启,运行异常3.进程是否会…

SpringMVC:转发和重定向

1. 请求转发和重定向简介 参考该链接第9点 2. forward 返回下一个资源路径,请求转发固定格式:return "forward:资源路径"如 return "forward:/b" 此时为一次请求返回逻辑视图名称 返回逻辑视图不指定方式时都会默认使用请求转发in…

【Qt秘籍】[008]-Qt中的connect函数

在Qt框架中,connect函数是一个非常核心的函数,用于实现信号(Signals)和槽(Slots)之间的连接,它是Qt信号槽机制的关键所在。信号槽机制是一种高级的通信方式,允许对象在状态改变时通知…

ChatGPT-3

ChatGPT-3是OpenAI开发的先进人工智能聊天机器人程序,它是基于 GPT-3.5 架构的大型语言模型,并通过强化学习进行了训练。这项技术代表了自然语言处理领域的一个重要里程碑,具有以下显著特点和功能: 强大的语言理解和生成能力&…

代码随想三刷数组篇

代码随想三刷数组篇1 704. 二分查找题目代码27. 移除元素题目代码977.有序数组的平方题目代码209.长度最小的子数组题目代码59.螺旋矩阵II题目代码704. 二分查找 题目

牛客网刷题 | BC114 圣诞树 (不理解)

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 这道题没搞懂 也没找到视…

Nginx源码编译安装

Nginx NginxNginx的特点Nginx的使用场景Nginx 有哪些进程 使用源码编译安装Nginx准备工作安装依赖包编译安装Nginx检查、启动、重启、停止 nginx服务配置 Nginx 系统服务方法一:方法二: 访问Nginx页面 升级Nginx准备工作编译安装新版本Nginx验证 Nginx N…

【HarmonyOS】Stage 模型 - UIAbility 的启动模式

Stage 模型这样的应用,它在启动的时候会先准备 Ability Stage 舞台,接着呢,就可以基于它去创建 UIAbility 的实例,并去启动它。 UIAbility 组件启动模式 有四种: singletonstandardmultitonspecified 修改模块的 mod…

SSMP整合案例第五步 在前端页面上拿到service层调数据库里的数据后列表

在前端页面上列表 我们首先看看前端页面 我们已经把数据传入前端控制台 再看看我们的代码是怎么写的 我们展示 数据来自图dataList 在这里 我们要把数据填进去 就能展示在前端页面上 用的是前端数据双向绑定 axios发送异步请求 函数 //钩子函数,VUE对象初始化…

【四大组件】-- 活动 Activity

目录 活动活动是什么活动的相关操作手动创建活动活动中使用Toast活动中使用Menu销毁一个活动 使用Intent实现活动间启动显示启动隐式启动 活动间数据传递活动的生命周期返回栈活动的状态活动的生存期 活动的启动流程活动的回收和重建如何在活动销毁前保存状态 活动的启动模式st…

设计模式(十四)行为型模式---访问者模式(visitor)

文章目录 访问者模式简介分派的分类什么是双分派?结构UML图具体实现UML图代码实现 优缺点 访问者模式简介 访问者模式(visitor pattern)是封装一些作用于某种数据结构中的元素的操作,它可以在不改变这个数据结构(实现…

红队内网攻防渗透:内网渗透之windows内网权限提升技术:手工篇

红队内网攻防渗透 1. 内网权限提升技术1.1 windows内网权限提升技术--手工篇1.1.1 Web到Win-系统提权-人工操作1.1.1.1 信息收集1.1.1.2 补丁筛选1.1.1.3 EXP获取执行1.1.2 Web到Win-系统提权-土豆家族1.1.2.1 Test in:Windows 10/11(1809/21H2)1.1.2.2 Test in:Windows Se…

全新市场阶段,Partisia BlockChain 将向 RWA、DeFi 等领域布局

Partisia Blockchain 是一个全新范式的 Layer1,该链通过 MPC 方案来构建链上隐私方案,同时该链通过系列独特且创新的设计,旨在进一步解决目前 Web3 中所面临的不可能三角问题,包括安全性、互操作性和可扩展性,为更多的…

NTFS磁盘格式读写工具:Tuxera NTFS 2021 for Mac

Tuxera NTFS 是一款用于 macOS 系统的 NTFS 文件系统驱动程序。NTFS 是 Windows 系统中常用的文件系统,而 macOS 默认只支持读取 NTFS 格式的磁盘,不能进行写入操作。因此,如果你需要在 macOS 上进行 NTFS 磁盘的写入操作,就需要安…

提交一个Bug需要哪些信息?

软件在使用过程中存在的任何问题都叫做软件的缺陷,简称Bug,我认为要提交一个Bug首先得将这个Bug的核心内容说明一下,比如Bug的核心问题是什么、产生的前提、预期结果是什么、但实际结果是什么、以及附上一个证据图片。 然后提交时需要Bug报告…

【一刷《剑指Offer》】面试题 28:字符串的排列

牛客对应题目链接:字符串的排列_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接:LCR 157. 套餐内商品的排列顺序 - 力扣(LeetCode) 核心考点 :全排列问题, DFS。 一、《剑指Offer》对应内容 二、分析题…

JS(DOM、事件)

DOM 概念:Document Object Model,文档对象模型。将标记语言的各个组成部分封装为对应的对象: Document:整个文档对象Element:元素对象Attribute:属性对象Text:文本对象Comment:注释对象 JavaScript通过DOM,就能够对HTML进行操作: 改变 HTML 元素的内…

Windows端口本地转发

参考 微软Netsh interface portproxy 命令 界面端口代理的 Netsh 命令 | Microsoft Learn 使用Windows系统的portproxy功能配置端口转发 使用Windows系统的portproxy功能配置端口转发-阿里云帮助中心 (aliyun.com) 将来自0.0.0.0地址对端口35623的访问转发到172.18.106.16…

SpringBoot @ModelAttribute注解的深入指南

文章目录 前言一、基本概念二、方法级别的@ModelAttribute1. 用途2. 示例三、参数级别的@ModelAttribute1. 用途2. 示例四、处理多个@ModelAttribute1. 示例五、继承与@ModelAttribute注解的结合使用1. 示例1.1 基类(父类)1.2 子类(具体控制器)<

多维数组找最大值

调用JavaScript的一个内置函数&#xff1a;Math.max() <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…