Я новичок в Кафке, используя Spring Boot, и я работаю в ProJet. Я хочу интегрировать в него Кафку, используя Spring, поэтому проблема в том, что я хочу отправить сообщение от производителя потребителю, даже если Сервер Kafka не (автономный режим)
Может ли кто-нибудь дать мне пример использования Кафки в автономном режиме, я не могу найти туто по этой теме, я хочу остановить свой сервер Кафки (например)и в то же время производитель хочет отправить данные в тему, тогда потребитель может получить эти сообщения?Какое лучшее решение? Это правда?
* отправка данных в файл, и когда сервер возвращается к работе (я проверяю подключение, например), я экспортирую данные из файла в тему
* отправка данных в базу данных, и когда сервер возвращается к работе (проверка соединения), то же самое я отправляю сообщение (данные) из базы данных в мою тему
*, используя очередь или список для хранения сообщения, и когдасервер возвращается к работе (тестирование соединения), я отправляю данные из списка в тему, но проблема в том, что у меня много сообщений
-> если есть другое решение с простым примером, может кто-нибудьПомогите мне?
Это пример брокера Redis , который мы проверяем соединение между Redis Broker и производителем, если соединение не удается, я буду хранить данные в Очередь , котораяможет хранить много сообщений, и когда соединение возвращается к работе между Redis и производителем, производитель теперь получает эти сообщения из очереди и отправляет их в Redis Brocker.
Но проблемаВ этом брокере потеряно несколько сообщений, поэтому мы решили интегрировать брокер kafka в мой проект вместо Redis brocker!
Может ли кто-нибудь дать мне пример в java, как хранить много сообщений перед их отправкойпроизводитель к кластеру kafka? или каково лучшее решение этой проблемы, потому что мы не хотим использовать одно и то же решение очереди?
этот пример в python - как сохранить сообщение в очереди, если подключение не удалось к серверу:
try:
urllib.request.urlopen('http://serverAdress', timeout=0.1)
r.publish(topicProduction,json_background_of_message1)
print(json_background_of_message1)
arretControle=Tru
except Exception as e:
qArret.put(json_background_of_message1)
print("arret")
arretControle=True
// json_background_of_message1 - это очередь, в которой мы можем хранить много сообщений в этой очереди перед отправкой этих сообщений, если соединение не удалось