如何用Serverless 架构去构建单体和微服务应用? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何用Serverless 架构去构建单体和微服务应用?

1358896759097293 2021-03-23 20:35:33 83

如何用Serverless 架构去构建单体和微服务应用?

Serverless 微服务
分享到
取消 提交回答
全部回答(1)
  • 1358896759097293
    2021-03-24 13:51:54

    "静态页面和站点适合用于内容少、更新频率低的场景,反之,就需要动态站点了。比如 淘宝的商品页面,采用静态页面方式管理商品信息是不现实的。如何根据用户请求动态地返 回结果呢?我们来看两种常见的解决方案:  Web 单体应用:所有的应用逻辑都在一个应用中完成,结合数据库,这种分层架构可 以快速实现一些复杂度较低的应用;  微服务应用:随着业务发展,功能多了,访问量高了,团队大了,这时候一般就需要将 单体应用中的逻辑拆分成多个执行单元,比如商品页面上的评论信息、售卖信息、配送 信息等,都可以对应一个单独的微服务。这种架构的好处是每个单元是高度自治的,易 于开发(比如使用不同技术)、部署和扩展。但是这种架构也引入了分布式系统的一些 问题,如服务间通信的负载均衡、失败处理等。 处在不同阶段不同规模的组织可以选择适合自身的方式,来解决它面临的首要业务问 题,淘宝最初被人们接受一定不是因为它使用了哪种技术架构。但是无论选择哪种架构,上 面提到的 Serverless 原生心智都有助于我们专注业务。比如:  是否需要自己购置服务器安装数据库,实现高可用、管理备份、升级版本等,还是可以 把这些事情交给托管的服务如 RDS;是否可使用表格存储、Serverless HBase 等 Serverless 数据库服务,实现按使用的弹性扩容缩容和付费; 单体应用是需要自己购置服务器运行,还是可以交给托管服务,如函数计算和 Serverless 应用引擎;  是否可以通过函数来实现轻量级微服务,依赖函数计算提供的负载均衡、自动伸缩、按 需付费、日志采集、系统监控等能力;  基于 Spring Cloud、Dubbo、HSF 等实现的微服务应用是否需要自己购置服务器 部署应用,管理服务发现,负载均衡,弹性伸缩,熔断,系统监控等,还是可以将这些 工作交给诸如 Serverless 应用引擎服务。 架构引入了 API 网关、函数计算或者 Serverless 应用引擎来实现计算 层,将大量的工作交给了云服务完成,让用户最大程度上专注实现业务逻辑。其中系统内部 多个微服务的交互如下图所示,通过提供一个商品聚合服务,将内部的多个微服务统一呈现 给外部。这里的微服务可以通过 SAE 或者函数实现。

    0 0
阿里巴巴云原生
使用钉钉扫一扫加入圈子
+ 订阅

关注云原生中间件、微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生技术趋势、云原生大规模的落地实践

推荐文章
相似问题