powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Асинхронный API VS персистентные очереди
8 сообщений из 8, страница 1 из 1
Асинхронный API VS персистентные очереди
    #38094380
recvezitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять таки не знаю к чему относится вопрос, запостил здесь.
У нас планируется разработка асинхронного АПИ. Суть в том что каждый запрос сперва сохраняется в БД как запрос, а потом по мере возможности посылается в очередь на реальную обработку. Тем самым создается асинхронность запросов. Я в недоумении, зачем городить лишний элемент (сохранение в БД самих запросов) если можно воспользоваться возможностями очередей (которые и так затем используются).
Да персистентные очереди очень проседают в производительности, но есди посадить их на SSD проседание будет не более 20% (сам на оленке проверял), тем более для нас скорости не критичны. Критично не потерять запрос. Меньше элементов - меньше возможностей для сбоя
Может я чего то не знаю про очереди?
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38094660
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitorКритично не потерять запрос. Меньше элементов - меньше возможностей для сбоя
А СУБД разве менее надежна, чем очередь?
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38095189
recvezitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не менее, но зачем?
Т.е. предлагается такой вариант:
клиент - временная БД - очередь - БД
вместо того, чтобы исползовать:
клиент - персистентная очередь - БД

По прежнему можем потерять запрос, когда посылаем запрос в очередь, т.е. все равно надо делать очередь с какой то гарантией что сообщения не потеряются.
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38095199
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitorне менее, но зачем?
Т.е. предлагается такой вариант:
клиент - временная БД - очередь - БД
вместо того, чтобы исползовать:
клиент - персистентная очередь - БД

Этот вопрос лучше задать тому парню, который у вас архитектуру разрабатывает.
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38096442
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Может я чего то не знаю про очереди?
http://en.wikipedia.org/wiki/Message_Queue
Вам настолько необходимо самим делать реализацию? Ведь уже давно существуют готовые реализации.. Но в любом случае, сначала лучше хотя бы по быстрому ознакомится с теорией, чем начинать собственную нетленку..
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38097674
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
особенно если учесть, что в БД есть Jobs (асинхронно) - это дважды велосипед
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38097754
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123особенно если учесть, что в БД есть Jobs (асинхронно) - это дважды велосипед
Джобс мертв
...
Рейтинг: 0 / 0
Асинхронный API VS персистентные очереди
    #38147937
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recvezitor,

Ну, во-первых, запрос может отвалиться по тайм ауту. Как это обработается Вашей бизнес-логикой?
Второе, если БД распределённая, то запрос на другой сервер может уйти в никуда либо просто остановить работу всего приложения.

Так что без очередей не обойтись.
Другое дело, что способ их реализации - дело вкуса.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Асинхронный API VS персистентные очереди
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]