微服务、Lambda和无服务器功能的区别



我只是想找到一个通用的定义

  1. Microservices
  2. Lambda函数
  3. 和Serverless-Functions

我的目标是在Kyma上实现一个"真正的"微服务——已经实现的关键点是什么,这样我就不会"只是"实现一个功能?

微服务

这是一个在2013-2014年左右开始使用的坏名字。本质上它意味着基于服务的体系结构——你有一个由多个服务组成的体系结构。这里最重要的是服务可以由不同的团队拥有,并且可以独立地开发、测试和部署从其他团队和服务。

"Functions">

可以是AWS Lambda, Azure Functions, Google Cloud Functions, Google Cloud Run或Kubernetes Knative。术语"函数"这里主要是一个营销术语。您可以部署由一个或多个函数组成的代码(与任何其他代码一样)。但是它通常只运行有限的时间,有冷启动惩罚,通常只在接收到事件时按需部署,并且通常只支付运行时间。

"Serverless"是同一事物的另一个营销术语。

在我看来,微服务和无服务器是在云上运行的两个对立范例(截至2023年撰写本文)。

微服务的现代方法通常涉及Kubernetes和无服务器(这将是Lambda &函数)可以使用Google Cloud Functions或AWS Lambda。

最新更新