Amazon web services aws服务设计和微服务

Amazon web services aws服务设计和微服务,amazon-web-services,rest,microservices,Amazon Web Services,Rest,Microservices,我很好奇AWS服务是如何设计的。例如,以S3及其REST API这样的服务为例: 此服务有很多端点,包含“S3服务”的全部功能。然而,在幕后,这肯定是许多微服务的集合,至少我是这么想的 有人对此有什么见解吗?您可以向我指出一种常见的设计模式,其中顶级服务层封装了对多个微服务的单个调用(如果事实上,这就是它们正在做的事情的话) 谢谢。构建此类存储服务的典型模板基于中央请求代理,该代理与其他服务和专用数据库交互: 存储代理处理来自S3API用户的REST请求(但不仅仅是来自用户,我们将在后面看到)

我很好奇AWS服务是如何设计的。例如,以S3及其REST API这样的服务为例:

此服务有很多端点,包含“S3服务”的全部功能。然而,在幕后,这肯定是许多微服务的集合,至少我是这么想的

有人对此有什么见解吗?您可以向我指出一种常见的设计模式,其中顶级服务层封装了对多个微服务的单个调用(如果事实上,这就是它们正在做的事情的话)


谢谢。

构建此类存储服务的典型模板基于中央请求代理,该代理与其他服务和专用数据库交互:

  • 存储代理处理来自S3API用户的REST请求(但不仅仅是来自用户,我们将在后面看到)
  • 此代理使用其他服务来运行:
    • 例如,代理使用容器或计算云服务来处理服务存储节点或容器
    • 某些数据库服务(通常是nosql灵活数据库)用于维护存储服务数据库
    • 允许代理验证请求的标识服务
  • 此代理维护一些数据库:
    • 为用户维护长期存储对象的对象存储数据库
    • 一个帐户数据库,其中包含有关所有者的特定信息以及对存储在对象存储中的对象的访问权限
    • 一种存储策略数据库,根据用户和对象类型维护服务级别、功能和行为
代理向用户提供服务,但也向其他一些服务提供服务:

  • 计算服务可以使用对象存储服务来维护其配置和状态:计算服务向存储服务发送REST请求
  • 仪表板服务可以使用对象存储服务来维护数据收集
  • 等等
进一步研究开源存储服务的一些实现,如OpenStack Swift模块,可能会帮助您找到用于基于其他微服务实现此类服务的通用设计模式。例如,您可以查看本指南的第1.2.2节:

S3与Swift非常相似,因为在相应的API之间有一些网关

下面是一个具有这种模式的图表: