毫无疑问,API Gatway + Lambda对于微服务的好处。
我担心的是,如果我们决定将API Gateway + Lambda迁移到ECS / Fargate甚至另一个Cloud。
对于每个路线/动作使用一个Lambda函数似乎已经达成共识。
我有一些有关如何使用这种方法进行设计的理论,这样可以从Lambda中拔出代码,并在其他地方插入。
我还想知道社区中的其他人为实现这一目标做了什么?有没有人试图将API从Lambda移开,并能够使用XXXX设计成功完成?那里有什么教训?
语言对本次讨论并不重要,但我们使用的是python3
答案 0 :(得分:0)
您现在要面对的名字。这称为“供应商锁定”。您几乎无能为力。
但是,我发现将AWS Lambda处理程序功能视为Web服务器中的控制器很有用。您将在控制器中做什么?您将验证传入的数据,将其传递到服务层,然后序列化来自服务的响应,然后将其传递回API Gateway。简而言之,您的处理程序函数不应包含业务逻辑,这使得从无服务器迁移到服务器也很容易。这也可能很好,因为它为优化留了一些空间。如果最终发现服务层体系结构为冷启动增加了很多时间,则只需将其规范化为单个文件即可。它可以更快地工作,但是您将牺牲代码的可维护性。没有灵丹妙药,软件一直是权衡取舍的。 :)