Капитанский журнал.
День 23-й.
Небольшой совет по построению АПИ в микросервисной архитектуре.
Всегда дизайните ваши методы для работы в батчевом режиме. Вот пишите метод выдачи пользователя по айди, сделаейте чтобы он сразу принимал кучку айди и возвращал кучку пользователей. И при этом делайте так чтобы все эти методы работали в батчевом режиме насквозь. Из базы доставали данные пачками, в другие сервисы ходили тоже по батчевым АПИ. Кажется что этот принцып построения контрактов потребует больше усилий на обработку ошибок, рейт лимитинг и тд, но правда в том что он сходу заставит вас задуматся об важных вещах:
- что будет если я попросил 10 юзеров а вернулось только 8?
- как правильно а не костылями контролировать конкурентность и потребление ресурсов?
- как ограничивать доступ к пользователям к которым доступа не должно быть?
Как бонус получите более производительную по пропускной способности систему в которой сеть, базы, кеши работают лучше.
Post #300
33
Forwarded from Bortlog