Кафка сообщения поверх остальных API - PullRequest
0 голосов
/ 07 ноября 2018

у нас в настоящее время есть библиотека, которую мы используем для взаимодействия с kafka. но мы планируем развить эту библиотеку в отдельное приложение. Другие приложения будут отправлять сообщения kafka, используя конечную точку отдыха. Планирование использовать vert.x в этом приложении, чтобы сделать его неблокирующим и быстрым. Это хорошая стратегия. Мое беспокойство 1) http сделает его медленнее по сравнению с TCP kafka 2) потоковая передача может быть невозможна 3) одна точка отказа Но, будучи отдельным приложением, управление релизами, контроль и поддержка будут намного проще, чем сейчас. Это хорошая стратегия, и кто-то делал это раньше? Есть предложения?

1 Ответ

0 голосов
/ 07 ноября 2018

Ваш выбор использования HTTP / TCP будет зависеть от количества приложений, которые будут взаимодействовать с вашим сервисом. Допустим, есть устройство IOT, которое непрерывно отправляет множество сообщений, тогда использование HTTP будет дорогостоящим и увеличит задержку. Поскольку установление HTTP-соединения является дорогостоящей операцией.

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

Это будет зависеть от скорости сообщений, которые будет получать ваша служба, которые будут определять, каким образом вы хотите принимать.

Теперь, для вашего текущего подхода к поддержке библиотеки, это хороший способ поддерживать согласованность во всей организации, пока поддерживается библиотека и пользователи вашей библиотеки постоянно обновляются по мере внесения изменений в вашу библиотеку. Он также имеет то преимущество, что не поддерживает отдельную инфраструктуру / серверы, поскольку ваш код будет выполняться в приложении ваших пользователей.

...