komok icon indicating copy to clipboard operation
komok copied to clipboard

Архитектура приложения и выбор технологий

Open IRus opened this issue 7 years ago • 1 comments

  1. Микросервисы или нет - если микросервисы - то одна база или несколько? В каких местах делить? Транзакции. CAP теорема.
  2. Как общаться между микросервисами - напрямую/через очередь? Протокол. Асинхронно или синхронно. Подумать о реальных юзкейзах и проблемах каждого подхода.
  3. Как должно происходить поднятие кластера? Зависимость между микросервисами.
  4. Сделать "базовый" микросерис-бойлерплейт?
  5. Service Discovery - что взять, проблемы разных решений.
  6. Configuration managment - готовые решения, надежность, CAP теорема.
  7. Cascade Failure Braker - готовые реализации
  8. Протокол общения с клиентами: REST, HATEOAS, GraphQL? Сравнить возможности и простоту работы.
  9. База данных: Postgres, RethinkDB...?
  10. ORM/Jooq?
  11. Деплой: docker? swarm/kubernetes?
  12. CI/CD. Как автоматически деплоить/передеплоивать отдельные сервисы?
  13. Тестирование. Unit тестирование, Тестирование одного микросервиса, тестирование всей системы (интеграционное). Моки.
  14. Логирование
  15. Мониторинг

https://github.com/cozy/cozy

IRus avatar Nov 11 '18 11:11 IRus

Distributed:

  • MediaGoblin
  • StatusNet
  • pump.io

IRus avatar Mar 11 '21 18:03 IRus