Мне было любопытно, как устроены сервисы AWS. Например, возьмите такой сервис, как S3, и его REST API: https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
Для этой службы существует много конечных точек, охватывающих весь спектр функциональных возможностей «службы S3». Однако за кулисами, конечно же, это набор микросервисов, по крайней мере, я так думаю.
Кто-нибудь знает об этом? Вы можете указать мне на общий шаблон проектирования, в котором уровень обслуживания верхнего уровня инкапсулирует отдельные вызовы нескольких микросервисов (если на самом деле это то, что они делают)?
Спасибо.





Типичный шаблон для создания такой службы хранения основан на центральном брокере запросов, который взаимодействует с другими службами и выделенными базами данных:
Брокер предлагает услуги пользователям, а также некоторые другие услуги:
Дальнейшее изучение некоторых реализаций служб хранения с открытым исходным кодом, таких как модуль OpenStack Swift, может помочь вам найти общие шаблоны проектирования, которые используются для реализации такой службы на основе других микросервисов. Например, вы можете посмотреть раздел 1.2.2 этого руководства: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/pdf/architecture_guide/Red_Hat_OpenStack_Platform-10-Architecture_Guide-en-US.pdf
S3 очень похож на Swift, поскольку между соответствующими API есть несколько шлюзов.
Вот схема с таким узором: