开发者社区 > 云原生 > 正文

传统的单体应用如何拆解?

传统的单体应用如何拆解?

展开
收起
1358896759097293 2021-03-23 20:34:28 656 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    传统单体应用的拆解首先我们来看下单体应用里面常见的两个编程模型,一种是 UI-driven, 另外一种是 Message-driven。单体应用这种体系结构,客户端可能相对不那么智能,系 统中的许多逻辑(比如身份验证、页面导航、搜索、交易等)由服务器应用程序实现,随着 业务逻辑复杂度的增长,服务端的应用程序会越发膨胀和难以维护。 而在 Message-driven 异步消息处理这种模式中,需要用户实现一个常驻的、弹性 高可用的消费者服务。为了更专注具体业务逻辑的开发,对一个庞大的单体应用进行拆解, 充分利用云服务体系结构是一个非常好的解决方案。在这里,最大的关键是如何为应用程序 的各个组件选择和使用正确的云服务,而通过函数作为粘合剂来串联云上的托管服务,就是 一个非常好的实践。UI-driven 切换到 Serverless 架构以后:  第三方 BaaS 服务取代认证逻辑;  允许客户端通过临时 token 直接访问架构与第三方上的数据子库(BaaS);  宠物商店服务端的逻辑可以转移到客户端中,例如跟踪用户访问,读取数据库转化为可 视视图等,客户端则慢慢转化为单页面应用;  CPU 密集型或者需要访问大量数据,比如搜索,使用 FaaS 实现,无需一直运行的 server;  购买功能使用另外一个 FaaS 实现,因为安全原因放在服务端。 Message-driven 切换到 Serverless 架构以后: 与单体应用示例相比,这里改动很小,同时使用 FaaS 功能替换了长期存在的消息消 费者应用程序,消息消费的高可用性交给了云平台去负责。

    2021-03-24 21:04:31
    赞同 展开评论 打赏
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
极简微服务模式—消除微服务复杂度的最佳实践 立即下载
下一代软件架构如何构建微服务核心能力 立即下载
下一代软件架构,如何构建微服务核心能力 立即下载