文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Serverless单体架构的崛起

2024-11-30 03:56

关注

我记得为前端编写了一些HTML/CSS,后端用了一些Java。但后来,随着时代发展和需求改变,分布式架构(我们现在称之为“微服务”)应运而生。

单体应用的衰落

这暂且不谈单体应用如何变得越来越不受欢迎,但需要开发者开始鼓吹微服务却是事实。

通常,微服务提供了以下好处:

关于微服务的误解

然而,经常或者有时,过度使用微服务也存在一些缺点:

但是,任何明智的开发者都会告诉你,对于任何架构选择,答案总是“看具体情况”。

单体与微服务的平衡

单体与微服务之争中,一个设计良好的、高度解耦的架构只需要处理最多四个不同的部分:

图片

完全解耦的微服务架构的表示

从熟悉的模式中,我们已经拥有合适的技术栈:

如果我们重视简单性,还有改进的空间。我们还应该商定需要技术栈的每个部分的比例:

图片

N = (2 * UI) + (1 * BFD) + (3 * DB)

正如俗话所说,“少即是多”,因此我们的目标是尝试将这个数字 (N) 减少到绝对最低。

进入Serverless单体架构时代

前端元框架的兴起

过去我们见证了一个令人难以置信的演变,那就是诞生了众多前端元框架。其中最著名的有 Next.js、Remix 和 SvelteKit。

一个元框架的目标是同时处理前端的前端和后端(是的,当你这样说的时候,这听起来并不聪明)。换句话说,这意味着使用单一技术构建 UI + BFF。

而且,由于如今的云和托管解决方案,我们可以轻松以无服务器模式部署元框架。

BFD和元框架单体架构

N = META-FRAMEWORK + (1 * BFD) + (3 * DB)

从这里开始,我们为每个前端减少了 1 个技术!

Serverless数据库时代

目前,围绕数据库作为服务(DaaS)的解决方案或者说后端作为服务(BaaS)正在兴起。BaaS的目标是提供应用程序所需的所有功能,以便你无需在后端编写一行代码。你只需要在你的BFF中编写查询,就完成了。

最著名的BaaS无疑是Firebase,它提供了许多功能,如实时文档数据库、身份验证服务、数据库之上的权限机制、文件系统存储等等。

然而,Firebase也有一些严重的限制:

还有另一个叫做Supabase的著名BaaS,试图与Firebase相媲美。使用类似PostgreSQL的关系型数据库消除了Firebase的一些限制,但它仍然是单模型数据库...

最近引起我注意的一个项目是SurrealDB。它是一个带有内置后端的数据库,具有许多许多功能(我觉得“许多”这个词写得还不够)。作为一个真正的多模型数据库,并且有一种新的查询语言,他们能够提供应该让你写一些代码的功能。

最近,这种类型的数据库被越来越广泛地称为元数据库。

完全单体架构

N = META-FRAMEWORK + META-DATABASE

从那里开始,我们在另一个层面上大大减少了技术数量。

附加内容:利用单一仓库架构

与微服务一样,编写单体应用意味着拥有正确的工具箱。这个工具箱可以解决我们通常遇到的约束,比如:

使用这种架构,对纯净和全面的单体架构(前端 + 后端)的需求就不再存在。然而,元框架是超过 80% 的代码将驻留的部分。为此,现在有一些工具可以使用,例如 turborepo。

我们还没有提到的一个不可避免的需求是数据库脚本迁移。当然,这些脚本需要存储在单独的仓库中,没有什么复杂的。

来源:程序新视界内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯