欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Serverless架构下的Elasticsearch探索:查询与写入、计算与存储的分离

最编程 2024-01-27 19:50:05
...

在serverless架构下,用户只需关注业务逻辑,无需管理服务器,云提供商负责置备、维护和扩展服务器基础架构等例行工作,云提供商对用户进行按量计费。

Serverless 的定义

Serverless 不如 IaaS 和 PaaS 那么好理解,因为它通常包含了两个领域 BaaS(Backend as a Service)和 FaaS(Function as a Service)。

BaaS

BaaS(Backend as a Service)后端即服务,一般是一个个的 API 调用后端或别人已经实现好的程序逻辑,比如身份验证服务 Auth0,这些 BaaS 通常会用来管理数据,还有很多公有云上提供的我们常用的开源软件的商用服务,比如亚马逊的 RDS 可以替代我们自己部署的 MySQL,还有各种其它数据库和存储服务。

FaaS

FaaS(Functions as a Service)函数即服务。FaaS本质上是一种事件驱动的由消息触发的服务,FaaS供应商一般会集成各种同步和异步的事件源,通过订阅这些事件源,可以突发或者定期的触发函数运行。

优点

  • 可运维性:无需管理服务器,比如操作系统的安全补丁升级、故障升级、高可用性,这些云服务(OSS,CDN)都帮着做了;

  • 可扩展性:无需对资源做预估和考虑未来的扩展。横向扩展是完全自动的、有弹性的、且由服务提供者所管理

  • 成本:按实际使用的资源付费,包括存储费用和请求费用,没有请求时不收取请求费用,通过使用iaas时是申请固定数量的服务器,即使低峰期服务器没有流量,也需要付费;运营成本也会降低,由于这个云服务使用者的数量会非常庞大,于是就会产生规模经济效应;服务的储存和计算被分开部署和收费

  • 安全性:这样一个系统甚至看不到服务器,不需要通过 SSH 登录,DDoS 攻击也交给云服务来解决。

缺点

  • 影响灵活性,不能做定制化的配置
  • 受制于供应商技术锁定。即便您决定要更换提供商,也可能需要升级系统以符合新供应商的规范,而这无疑会增加成本。