207 похожих чатов

Есть вопрос с гениям архитектурных строений. Есть некоторое количество одоо

инстансов, которые обмениваются данными с главным одоо инстансом, а также есть мобильное приложение, которое обменивается данными также с главным инстансом. В мобильном приложении необходимо получать real-time данные со всех одоо инстансов, как лучше реализовать данную архитектуру? (Любые предложения и подсказки приветствуются)

Для примера: у десяти инстансов есть продукт, они обновляют его количество, данные о нем, а данный продукт продается в мобильном приложении, отображая, где и сколько продукта есть в наличии.

7 ответов

19 просмотров

если есть "главный" оду, с которым обмениваются все остальные оду, значит данные для мобильного приложения нужно тянуть из него. Если тянуть данные из всех(каждой) оду в приложение, то будет хаос. Конечно при модификации данных в дочерней оду, данные попадут в "главную" оду с некоторой задержкой. Плюс время на передачу из главной - в приложение. И получается - не очень то "риалтайм". Поэтому нужно уменьшить время передачи в чентральную оду. Для это нужно чтобы способ передачи данных был НЕ ПО КРОНУ!!!! НЕ ПО КРОНУ! А по событию изменения данных. И данные передавать нужно через прямое подключение оду-оду по http. В таком случае передача одного объекта(читай небольшого массива данных) - не должна занимать слишком много времени. До 3-х секунд! Ну и конечно же - не гонять по этой интеграции бинарные данные типа картинки товаров, а использовать CDN и гонять урлы на файлы. Файлы шарить между разными инстансами. А приложение, ябы вообще сделал, чтобы брало данные из "главной" оду - онлайн. Т.е. чтобы приложение не хранило бы данные в "своей" базе данных, а брало бы данные онлайн из "главной" оду по json-rpc.

Alex Kom
если есть "главный" оду, с которым обмениваются вс...

иметь в главном оду консьюмер который обновляет остатки по дочерним инстансам и ему отправлять сообщения на события с дочерних? или реалтайм запрос async/await распараллеленый на дочерние? @DontWantWakeUp а чем обусловлена такая архитектура - основной инстанс и дочерние? почему не все в одном (на разных складах напр) - нагрузкой или еще чем-то?

Anton- Автор вопроса
 Веранiка
иметь в главном оду консьюмер который обновляет ос...

Немного ошибся при описании проблемы Главная оду используется только как для подписочной системы дочерних, там просто crm, инвойсы и тому подобное, нет ни складов, ни продуктов. Каждый инстанс это отдельная ерп система для каждого заказчика, в которой он уже ведет свой учет продуктов и их актуальность. А мобильное приложение используется как точка доступа для поиска нужного продукта как можно ближе к конечному потребителю(аптеки и мед препараты). То есть мы получаем главная система-наша оду, десятки одоо инстансов наших заказчиков, которые продают свои мед товары и мобильное приложение, которое они используют для продажи

Anton
Немного ошибся при описании проблемы Главная оду ...

Вы говорите "в главной оду нет продуктов", но "есть инвойсы". Это как? А что написано в инвойсах? Продукт под названием "Продукт"? Вы говорите, что цель: > мобильное приложение используется как точка доступа для поиска нужного продукта Значит инфо по каждому продукту - нужно иметь. Остатки по каждому продукту - тоже. Список складов и их адреса - тоже. Возможно - для консолидации этих данных и реализации функции поиска "нужного продукта как можно ближе к конечному потребителю" Вам стоит поднять еще одну оду, в которую будут литься все эти данные. И ее интегрировать с приложением. Т.е. все эти данные НЕ заливать в базу приложения, а сделать как сервис "Приложение спрашивает у этого сервиса:" нужны продукты 1, 2 и 3 клиент находится по адресу Х найди ближайшие точки, в которых есть эти продукты. и сервисная оду, отвечает уже готовым ответом Приложению. Ну а как данные попадают в базу этой оду - я описал выше: передаются по событиям, онлайн.

Anton- Автор вопроса

А не будет ли тогда проблем с согласованностью данных и овербольшой нагрузки на одну одоо? Ей придется общаться как между Odoo инстансами, так и мобильным приложением

Anton
А не будет ли тогда проблем с согласованностью дан...

дык - воркеров-то не один. Можно вообще для этой цели купить железяку с многоядерным сердцем и на каждое ядро повесить по воркеру. оптоволокно несколько сетевух ... олдскул рулит)

Миллион раз писал не стоит крутить маркетплейс на Odoo ! Как уже писали выше без шини не обойтись. У нас были похожие задачи. Zato + Kafka + кролик + Редис + свои балансировки в одушках ... Есть пару идей как но чистой Odoo такое собирать .

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта