Microservices Overkill for CRUD
Изградихме разпределена система за CRUD приложение. 8 услуги, опашки за съобщения, event sourcing. Трафик: 50 потребители.
Архитектурата:
- API Gateway услуга
- Authentication услуга
- User услуга
- Product услуга
- Order услуга
- Notification услуга
- Analytics услуга
- Admin услуга
- Плюс: Kafka, Redis, PostgreSQL, Elasticsearch
Реалността:
- 50 дневно активни потребители
- ~200 поръчки на ден
- Един SQLite файл можеше да се справи с това
- Инфраструктурни разходи: $3,000/месец
- Скорост на разработка: ледникова
Какво щеше да е достатъчно:
- Django/Rails монолит
- PostgreSQL
- $20/месец DigitalOcean droplet
- Готово за 2 седмици, не 6 месеца
Урок: Решавайте проблемите, които имате, не проблемите, които си въобразявате, че ще имате на Netflix мащаб.