Паттерны интеграций
Виды (стили) интеграций
- Пользователи
- Данные
- ETL (Extract, Transform, Load)
- ELT (Extract, Load, Transform)
- Shared Database\Table Шлюзовая БД (ШБД)
- Файловый обмен
- Распределенные файловые системы
- Upload File
- Download File
- CDN реализует паттерн Static content hosting
- Протокол WebDAV HTTP API (IIS, Apache support) для подключения сайтов как сетевых дисков
- Приложения
- Direct
- Remote Procedure Invocation (RPC)
- Двунаправленная связь для обмена сообщениями между клиентом и сервером
- протокол WebSocket
- Однонаправленная связь
- HTML спецификация Server Sent Events
- gRPC
- Двунаправленная связь для обмена сообщениями между клиентом и сервером
- Middleware
- Message-oriented
- Advanced transient messaging
- Message-oriented persistent
- log-based message queue
- API Gateway
- SOA
- ESB Интеграционная шина
- Message-oriented
Критерии выбора способа интеграции
- Возможность использовать выбранный способ интеграции для всех приложений, участвующих в интеграции
- Возможность внесения изменений в приложения
- Требования к обеспечению надежности
- Уровень связанности приложений
- Временные задержки доставки данных
- Требования к защите данных
Паттерны
TODO см. EIP
- Messaging Patterns
- RPC Команды\Запросы
- Обработка сбоев: Retry Policy, Rate Limit, Circuit Breaker
- Sidecar
- Ambassador Посредник
- nginx
- Anti-Corruption Layer
- Async Request-Reply
- DbC - Design by contract
TODO
- https://mxsmirnov.com/2010/06/27/%d1%81%d1%86%d0%b5%d0%bd%d0%b0%d1%80%d0%b8%d0%b8-%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d0%b8-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9/#more-357
- http://citforum.ru/SE/project/pattern/p_4.shtml
- https://www.enterpriseintegrationpatterns.com/patterns/messaging/
- https://mcs.mail.ru/blog/26-osnovnyh-patternov-mikroservisnoj-razrabotki/amp
- https://www.bigdataschool.ru/blog/architecture-patterns-for-distributed-systems.html
- https://medium.com/nuances-of-programming/краткий-обзор-10-популярных-архитектурных-шаблонов-приложений-81647be5c46f
- https://success.outsystems.com/Documentation/Best_Practices/Architecture/Designing_the_Architecture_of_Your_OutSystems_Applications/Integration_Patterns_for_Core_Services_Abstraction
- https://ducmanhphan.github.io/2020-08-10-Introduction-to-Enterprise-Integration-Patterns/
- https://habr.com/ru/company/southbridge/blog/679906/
- TODO https://github.com/Sairyss/distributed-systems-topics