app那个网站开发比较好xp优化大师

news/2025/9/25 22:46:06/文章来源:
app那个网站开发比较好,xp优化大师,淘宝推广,网站界面修改Serverless 话题涉及范围极广#xff0c;几乎包含了代码管理、测试、发布、运维和扩容等与应用生命周期关联的所有环节。在线应用如何不改代码也能迁移到 Serverless 架构#xff1f;今天#xff0c;我们来揭秘阿里巴巴成千上万在线应用的Serverless 演进过程。 AWS Lambda … Serverless 话题涉及范围极广几乎包含了代码管理、测试、发布、运维和扩容等与应用生命周期关联的所有环节。在线应用如何不改代码也能迁移到 Serverless 架构今天我们来揭秘阿里巴巴成千上万在线应用的Serverless 演进过程。 AWS Lambda 是 Serverless 领域的标志性产品但如果将其应用于核心业务可能会遇到以下难题仅代表作者个人观点 要求用户以 Function 为单位进行开发全新的开发框架云厂商强绑定社区主流技术栈迁移成本高Function 启动速度要足够快毫秒级或者秒级这个限制对适用场景有很强的约束Function 之间的调用通过 API Gateway响应时间更长。 Cloud Service Engine 云服务引擎以下简称CSE是阿里云中间件团队开发的面向通用 Serverless 计算的中间件产品目的是具备 AWS Lambda 的各种优势同时可以解决用户在使用 AWS Lambda 时遇到的难题。 什么是 Serverless AWS 对 Serverless 定义是 AWS 无服务器平台提供的功能 AWS 的整套 Serverless 方案非常完善但是没有解决存量应用如何迁移到 Serverless 架构的问题。仅仅是针对新开发的应用建议用户使用 FaaS 方式开发才有机会转向 Serverless 架构。笔者认为要将 Serverless 架构大规模推广必须要能有针对存量业务的解决方案。 Serverless 对云计算的价值 云计算归根结底是一种 IT 服务提供模式不论是公共云还是专有云以 IT 设备的归属不同分类其本质都是帮助 IT 的最终使用者随时随地并且简便快速地获取 IT 服务目前IaaS、PaaS 都已经做到了按需付费PaaS 甚至做到了按请求付费如 DBCACHEMQ 等但是 IaaS 的付费粒度仍然是时间维度最快按照小时付费以分钟来交付。 因此当下的云计算场景应用的开发维护方式相比传统 IDC 时代的开发维护差别还不是很大。但 AWS Lambda 提供了一种全新的开发维护方式用户只需要写好业务代码提交到云上所有和机器容量、可用性、机器为单位的运维工作可以全部交给了云平台这种模式极大地释放了云的弹性价值真正做到了按需付费。 CSE 试图提供一种更规模化的解决方案像 AWS Lambda 一样能进一步释放云的弹性价值并且可以平滑迁移存量应用。 存量在线业务实现 Serverless 架构的挑战 存量在线应用程序具有以下特点 资源分配速度 分钟级应用程序启动速度 10分钟 基于以上客观条件通常做法是提前预定好机器数量来应对任意时刻的流量峰值假设上述技术参数变为毫秒级就有机会将应用程序架构演变成下图所示方式。 上图中Service A 在调用 Service B 时如果 B 的容量充足则调用成功如果 B 的容量不足这时候如果线程池满则直接触发限流阀值A 会收到一个错误码然后直接调用资源总控系统资源总控系统负责新分配一个 Service B 实例这个分配的速度非常快耗时几十毫秒同时把 B 的服务地址直接返回给 AA 会将之前未完成的请求发送到新创建的 Service B。 以上过程对于开发者完全透明具备了以下价值 价值一无需管理服务器即无需容量评估容量评估这件事情对于应用负责人一直是一个极难解的问题因为我们很难预测未来的峰值是什么。价值二持续扩展之前的做法是每个应用程序独占一定数量的资源如果变成Serverless 模式所有应用程序可以共享资源池每个应用程序几乎可以无限扩展。价值三按照请求计费因为每个实例的启动时间甚至比 FaaS 的函数启动时间还快就可以像 FaaS 一样来核算成本成本只与以下因素有关 请求数量QPS每次请求CPU执行时间例如100ms每个实例的内存规格 综上所述为了做到以上描述的分布式架构关键技术点在于应用启动速度这里的应用启动速度是指应用可以正常处理流量为止。 如何将应用启动速度提高到毫秒级 应用在启动过程中通常会初始化多个组件如各种中间件、数据结构以及网络调用外部服务。在阿里内部广泛使用 SOA 和微服务的情况下应用在启动过程中会大量加载共享业务 SDK存在启动过程达到10分钟量级的情况个别应用可能会更长。因此这个启动过程必须提前完成才有机会以“临阵磨枪”的方式去创建新实例。 方案一应用冷启动资源压缩方案 L1 弹性能力是指在一台物理机或者大规格的 ECS 上部署同一个应用的多个实例通过操作系统和 JVM 的优化一个占用 4G 内存的应用即使部署10份仅需占用2.2G RAM。 L1 总结来看是一种高密度部署方式由于应用已经提前启动并且对容器进行冻结意味着这个应用实例 CPU 占用率为0RAM 占用相当于之前的1/20但是具备了毫秒级弹性的能力。L1的特点是启动速度极快但是需要消耗资源且只能垂直弹性。 L2 是通过将应用程序启动后在 RAM 中的指令和数据结构 dump 到磁盘文件只需要在机器之间拷贝文件即可以达到横向弹性的能力这个时间消耗主要是数据的网络传输时间内存拷贝时间大约在5秒左右就可以完成。L2 的成本开销只有网络磁盘容量开销极低可忽略不计。 L2 的每个 SNAOSHOT 对应一个可运行的实例例如预计一个应用需要最大启动100个实例那么需要提前生成100个 SNAOSHOT每个 SNAOSHOT 对应一个运行实例需要启动时从远程磁盘加载这个 SNAPSHOT。 此方案通过 L1 和 L2 的组合来达到加速应用启动的目的在支持一定流量脉冲能力下可以最大50ms内启动任意应用平均在10ms内完成。 方案二应用热复制启动加速方案 L1 采用通过 fork 种子进程达到快速启动的效果操作系统团队专门为此开发了 fork2 技术与 Linux Native fork 的关键区别在于可以指定 PID 来 fork 一个进程。 L2 的单个 SNAPSHOT 可以创建多个进程一对多关系。 两种自研方案的对比 方案一不存在 UUID 问题但是每种语言的 VM 要单独定制成本效果相比方案二略差。方案二会存在 UUID 问题若开发者希望应用的每个实例启动时都赋值一个 UUID 给一个静态变量但通过 fork 会导致每个实例的这个静态变量都相同这与开发者预期不符。方案二的优势是更易实现、和语言无关、成本效果更优适合 FaaS、NBF 这类场景或者开发者自己定义的开发框架能避免 UUID 的问题。 整体来看方案一的适用场景更广但是实现成本更高方案二较适合 FaaS、NBF 这类场景。 和 AWS Lambda 相比 Lambda 为了做到快速扩缩容要求用户的应用以 Function 为单位开发Lambda Runtime 动态加载 Function 来快速增加实例。 CSE 则通过将一个应用的多个实例启动后共享相同的指令数据抽取出不同的指令数据每次启动实例只需要加载多实例的差异部分。因此可以透明兼容社区主流技术栈如 Spring BootPHP/Java/Python/Node.JS 等。 CSE 的成本优势 理论模型 Serverless 方式应用占用的实例数随时在变化因此可以多个应用错峰使用同一台机器。 量化分析 Serverless 的成本优势是可以和 CPU Share 离在线混部等调度技术的成本优势做叠加能给最终用户一个更优的总体成本。 CSE 的代码样例 HSF demo package com.test.pandora.hsf;import com.alibaba.boot.hsf.annotation.HSFProvider;HSFProvider(serviceInterface HelloWorldService.class) public class HelloWorldServiceImpl implements HelloWorldService {Overridepublic String sayHello(String name) {return hello : name;} } Spring Boot demo package com.example.java.gettingstarted;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;SpringBootApplication RestController public class HelloworldApplication {RequestMapping(/)public String home() {return Hello World!;}RequestMapping(/health)public String healthy() {// Message body required though ignoredreturn Still surviving.;}public static void main(String[] args) {SpringApplication.run(HelloworldApplication.class, args);} } CSE 的生产实践 某电商业务 AServerless 化后机器数量从11台降低到2台2~10台之间波动某促销节服务流量峰值从数千瞬间飙到十多万CSE 瞬间弹性扩容从2台--5台--10台流量峰值回落后又缩容到2台。 某电商业务 BServerless 化后机器数量从4台到2台2~10台之间波动。 某电商业务 C之前固定4台机器Serverless 化完成后机器数量变成1台1~4台之间波动预发可实现0 - 1台实例之间波动。 原文链接 本文为云栖社区原创内容未经允许不得转载。

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

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

相关文章

最牛网站建设是谁装饰公司办公室图片

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 什么是WebSocket? WebSocket是一种在Web应用程序中实现双向通信的协议。它允许在客户端和服务器之间建立持久…

Java EE ----- Spring MVC (上) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

秦皇岛网站排名郑州手机网站制作公司哪家好

可以删一下 按住alt按移除可以删掉 选择你要删的那些线 按住alt点移除

浦东做网站如何在社交网站做销售

一、介绍部分 (win7 下的 GUI 效果图见 本篇文章的最后部分截图2张)wxWidgets是一个开源的跨平台的C构架库(framework),它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK或Motif的Unix和MacOS。相当于大家熟悉的 VC。二、wxWidge…

Windows 10 C盘占用释放 - tfel

C盘又要撑爆...前言 安装的Windows 10 LSTC, 系统盘留了 200G 最近发现可用只剩下50G, 甚至还在减少 排查 使用 SpaceSniffer 看下具体占用 好用,到Windows 10我也觉得它装机必备!!!占用大头 网易云音乐 缓存它默认…

CherryStudio+cpolar:让智能工作流突破组织边界 - 详解

CherryStudio+cpolar:让智能工作流突破组织边界 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

科学计算方法--矩阵分析记录

1. 前言砚上三五笔,落墨鹧鸪啼本文用于记录:科学计算方法--矩阵分析记录 最近有点忘记矩阵了(汗),这里记录一下。 如有不对,欢迎评论区指正! 2. 正文 2.1 矩阵(matrix) 矩阵理解为空间中的一种变换,作用到对…

window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky

遇到的问题使用第一个进入无痕模式就没有被一直触发的问题了 一、最可能的 3 个 “隐式消息发送源”(非你主动写的代码)浏览器插件 / 扩展程序发送的消息 很多浏览器插件(如广告拦截、翻译、开发者工具插件)会通过…

建设单位网站设计有了公网ip如何做网站

盒模型是界面布局需要掌握的基本功。盒模型基本概念 盒模型四要素:margin、border、padding、content。 盒模型分为:标准盒模型(W3C盒模型) 、 怪异盒模型(IE盒模型) 盒模型区别 怪异盒模型总宽度 content…

做网站包括什么网站备案的意思

list: quert.list()方法会将从数据库查找到的数据库放到一级缓存和二级缓存,但是不能从一级和二级缓存读取数据,但是可以从二级缓存的查询缓存读取数据, iterate: quert.iterate()方法总会先查找数据表的主键,然后根据每一个主键发送对应的sql语句从数据库读取数据,它可以把数据…

iis7重启 网站河南网站建设服务公司

当然,可以使用 Python 编写一个简单的程序来查找给定列表中的最大和最小值。以下是一个示例程序: def find_max_min(values):if not values: # 检查列表是否为空return None, Nonemax_value values[0]min_value values[0]for value in values:if val…

大连哪家公司做网站桃源网站建设

一、引言 在信息爆炸的时代,网络上蕴含着海量的数据。如果我们想要获取特定的信息,手动从网页上复制粘贴显然效率极低。这时,Web 爬虫就派上了用场。Web 爬虫是一种自动获取网页内容的程序,它可以模拟人类在浏览器中的操作,快速地抓取网页上的数据。本文将带领大家使用 Py…

新风向网站建设邢台县建设局网站

注:这一节的课程分为对已经从业产品经理业务转型的人群和想要进入到AI产品行业的人群两部分,我这里针对自己的情况只说明了第二部分,如果有需要了解其他的成长路径方式的朋友请自行观看刘老师的课程。 1.持续了解AI行业 你需要持之以恒的了…

精简网站模板适合个人做的网站

web 框架使用路由技术来帮助用户记住应用程序的 url。无需从主页导航即可直接访问所需页面。 route() 装饰器用于将 url 绑定到函数: app.route(/hello) def hello_world(): return hello world url /hello 规则绑定到 hello_world() 函数。如果用户访问 url :…

python+pillow+Image实现图片压缩到指定大小

本次使用的是python 3.6先安装 pip install pillow from PIL import Imageimport osimg_path = r"H:\pythonworkspace\test\a.jpg"img_path_2 = r"H:\pythonworkspace\test\test.jpg"# 下面这种…

页面卡顿问题分析与解决方案总结复盘

页面卡顿的本质是浏览器无法在16.7毫秒内完成一帧的渲染工作(以达到60FPS的流畅度)。问题根源可归为两大类:CPU计算瓶颈和I/O等待瓶颈。一、 CPU瓶颈(主线程过载)根本原因: JavaScript是单线程的。主线程负责执行…

建设银行官方网站下载做网站优化有什么作用

每日一句,vscode用的爽是爽,主要是可配置太强了。如果也很会研究,可以直接去咸鱼接单了 废话少说,直接整。 用着用着说是c intelliense被弃用,很多辅助功能无法使用,像查看定义、查看引用、函数跳转、智能提…

网站开发 渠道合肥做企业建网站那家好

个人总结-ApkTool2.34 打包经验基本命令基本演示基本命令 java -jar apktool.jar -r d aaa.apk -o bbb ↑这句话的意思 将aaa.apk 解压出到 bbb apktool.jar 是打包引用包 apktool.jar 下载地址 https://ibotpeaches.github.io/Apktool/ JAVA JDK 1.8.0 自行百度安装配置 path…

基于html5的购物网站开发软文素材网站

1.内存可见性 当一个变量被声明volatile时,它会保证被修改的值被立刻更新到主内存中,不会优化到寄存器或缓存中 2.禁止指令重排序 针对被volatile修饰的变量的读写相关指令,是不能被重新排序的 代码演示 class Counter{public int flag; } public class Thread3 {public stati…

分布式链路追踪-SkyWalking - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …