在AWS上实施无服务器微服务架构

网友投稿 253 2022-11-07

在AWS上实施无服务器微服务架构

整体式与微服务架构

在微服务架构中,每个组件都是一个小型应用程序,具有自己的六边形架构。它是一种体系结构样式,它将应用程序构造为松散耦合且可独立部署的服务集合。

微服务架构的特点

独立

在微服务架构中,每个组件都可以单独更改、升级或替换,而不会影响其他组件的功能。

分散

微服务架构遵循分散的数据管理,其中每个服务都有自己的数据模型视图。

自治

在微服务架构中,无需与其他组件共享任何组件代码或实现。组件之间的任何通信都可以通过明确定义的 API 来完成。

黑盒子

微服务架构的行为类似于黑匣子,因为每个组件都对其他组件隐藏了复杂性的详细信息。

微服务架构的优势

质量

微服务架构还可以提高代码质量,因为整个应用程序都运行在小的、定义明确的组件中。

可伸缩性

在微服务架构中,每个组件都经过适当的解耦,因此可以水平扩展并彼此独立,并且在扩展过程中永远不会面临停机,因为在水平扩展中,更多的组件被添加到现有池中,而不是增加每个组件的容量。

轻松开发

微服务架构使尝试新想法变得容易,并在持续集成和持续交付的帮助下将其回滚,以防发生意外情况。

达观

借助微服务架构,应用程序可以通过降低功能而不是使整个应用程序崩溃来处理总体服务故障。

微服务架构的挑战

迁移

从整体架构迁移到微服务架构的过程非常复杂,需要将发布代码依赖项向下延伸到数据库层。

测试

在微服务环境中,由于服务及其集成不同,测试非常复杂。

监测

在微服务架构中,应用程序被分解为小组件。当出现问题时,很难找到问题的根本原因,因为问题可能不在于发生故障的组件,而在于依赖关系。

无服务器微服务架构

下图显示了无服务器微服务体系结构,其中构建了完整的解决方案,而无需管理任何服务器。这也消除了运行和监视服务器的操作工作。

在架构图中,Lambda 与 API 网关 集成。从 API 网关到 AWS Lambda 的同步调用使应用程序能够以无服务器身份运行。AWS Lambda 会将所有数据存储在名为 DynamoDB 的完全托管的 NoSQL 数据库中,所有静态数据都将存储在 S3 存储桶中。

可以说,微服务架构旨在克服企业应用程序中传统整体架构的挑战。它允许任何组织的运营和开发团队之间的协作,从而实现DevOps,并且是当今的首选。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot 跨域配置类及跨域请求配置
下一篇:thinkphp相关
相关文章

 发表评论

暂时没有评论,来抢沙发吧~