Skip to content

API

Chill использует gRPC на основе Protobuf 3 как API для взаимодействия между микросервисами.

Преимущества gRPC:

  • Повышенная производительность по сравнению с HTTP REST.
  • Поддержка клиентских и серверных потоков сообщений: клиент и сервер могут обмениваться последовательностями сообщений в реальном времени — так же, как обмениваются сообщениями два пользователя при общении в чате.
  • Развитая кодогенерация для множества языков программирования: разработчику нужно лишь описать протокол взаимодействия — название методов, принимаемые аргументы и возвращаемые значения — и не нужно вручную заниматься сериализацией и десериализацией запросов и ответов.

Разработка API

В стандартной структуре сервиса Chill все описания API хранятся в папке api. В ней содержатся две подпапки:

  • public — публичное API сервиса, доступное внешним пользователям.
  • private — приватное API сервиса, доступное только другим сервисам внутри кластера.

В этих папках размещаются файлы .proto с описаниями методов сервиса и моделей.

Кодогенерация

Генерация шаблонов сервера и клиентов производится при синхронизации.