当然,Serverless 框架离不开弹性, Knative 中提供了以下丰富的弹性策略:
-
基于流量请求的自动扩缩容:KPA;
-
基于 CPU、Memory 的自动扩缩容:HPA;
-
支持定时 + HPA 的自动扩缩容策略;
-
事件网关(基于流量请求的精准弹性)。
=======================================================================================
如果要准备 ECI 资源的话,需要提前进行容量规划,这无疑违背了 Serverless 的初衷。为摆脱 ECI 资源的束缚,不必提前进行 ECI 资源规划,阿里云提出了无服务器 Serverless——ASK。用户无需购买节点,即可直接部署容器应用,无需对节点进行维护和容量规划。ASK 提供了 K8s 兼容的能力,同时极大地降低了 K8s 的使用门槛,让用户专注于应用程序,而不是底层基础设施。
ASK 提供了以下能力:
- 免运维
开箱即用,无节点管理和运维,无节点安全维护,无节点 NotReady,简化 K8s 集群管理。
- 极致的弹性扩容
无容量规划,秒级扩容,30s 500pod。
- 低成本
按需创建 Pod,支持 Spot,预留实例券。
- 兼容 K8s
支持 Deployment/statfulset/job/service/ingress/crd 等。
- 存储挂载
支持挂载云盘、NAS、OSS 存储券。
- Knative on ASK
基于应用流量的自动弹性,开箱即用,缩容到最小规格。
- Elastic Workload
支持 ECI 按量和 Spot 混合调度。
- 集成 ARMS/SLS 等云产品
Knative 运维主要存在三个方面的问题:Gateway、Knative 管控组件和冷启动问题。
如上图所示,在 Knative 中管控组件会涉及到相应的 Activator,它是从 0 到 1 的一个组件;Autoscaler 是扩缩容相关的组件;Controller 是自身的管控组件以及网关。对于这些组件的运维,如果放在用户层面做,无疑会加重负担,同时这些组件还会占用成本。
除此之外,从 0 到 1 的冷启动问题也需要考虑。当应用请求过来时,第一个资源从开始到启动完成需要一段时间,这段时间内的请求如果响应不及时的话,会造成请求超时,进而带来冷启动问题。
对于上面说到的这些问题,我们可以通过 ASK 来解决。下面看下 ASK 是如何做的?
相比于之前 Istio 提供的能力,我们需要运营管控 Istio 相关的组件,这无疑加大了管控成本。实际上对于大部分场景来说,我们更关心网关的能力,Istio 本身的一些服务(比如服务网格)我们其实并不需要。
在 ASK 中,我们将网关这一层通过 SLB 进行了替换:
-
降成本:减少了十几个组件,大大降低运维成本和 IaaS 成本;
-
更稳定:SLB 云产品服务更稳定,可靠性更高,易用性也更好。
对于 Knative 管控组件,ASK 做了一些托管:
-
开箱即用:用户直接使用 Serverless Framework,不需要自己安装;
-
免运维、低成本:Knative 组件和 K8s 集群进行融合,用户没有运维负担,也无需承担额外的资源成本;
-
高管控:所有组件都在管控端部署,升级和迭代更容易。
在 ASK 平台中,我们提供了优雅保留实例的能力,其作用是免冷启动。通过保留实例,消除了从 0 到 1 的冷启动时间。当我们缩容到 0 的时候,并没有把实例真正缩容到 0,而是缩容到一个低规格的保留实例上,目的是降低成本。
-
免冷启动:通过保留规格消除了从 0 到 1 的 30 秒冷启动时间;
-
成本可控:突发性能实例成本比标准规格实例降低 40% 的成本,如果和 Spot 实例结合还能再进一步降低成本。
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以扫码领取!
最后
关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:
- Java基础部分
- 算法与编程
- 数据库部分
- 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)
这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。
作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。
oudAlibaba)
[外链图片转存中…(img-1Q3es054-1711394117587)]
这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。
作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!