
BG Development · За реклама · За контакти |
![]() ![]() ![]() ![]() ![]() |
Здравей! ( Включване | Регистриране ) |
Страници: (2) [1] 2 ( Първото ново мнение ) | ![]() ![]() ![]() |
thrawn |
Публикувано на: 18-06-2023, 07:00
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3521 Регистриран на: 17.01.17 ![]() |
Обмислям едно разпределено приложение (един централен сървър и много локални offline сървъри) като работната постановка ще е клиентите да ползват restful за комуникация с локалния си сървър а той да комуникира с централния посредством JMS.
До тук всичко е ОК, само дето се търси висока надеждност при offline режим на работа (под offline разбирам отпадане на комуникацията между сървърите). И точно това се чудя как да го постигна оптимално. До колкото виждам, имам два варианта. Първия е да използвам "чиста" комуникация между сървърите и при липса на свързаност да цикя отново и отново до успех. При втория вариант правя мост между локален и отдалечен брокер и ги оставям те да се оправят. Очевидното решение е мостът, но той натоварва много конфигурацията. За всяка двойка сървъри трябва да се конфигурирт по две опашки (комуникацията е двупосочна). Та се чудя, оправдано ли е да натоваря архитектурата с мостове? |
Lachezar |
Публикувано на: 19-06-2023, 11:26
|
![]() Име: Лъчезар Добрев Група: Потребител Ранг: Почетен член Мнения: 2779 Регистриран на: 10.11.04 ![]() |
Аз съм го правил с Cluster.
Всеки локален сървър използва вградена инстанция на брокер, който е в клъстер с централния (един или повече). Локалните събития се пращат на локалния брокер, който се грижи за това събитията да се разпределят по клъстера. Централния (централните) сървъри са вързани с ядрото на клъстера, и получават съобщенията от там. Големия минус на тази архитектура е увеличаване на времето за доставка на съобщенията, което може да е а може и да не е голям проблем. Редакция: броя и разновидността на опашките и топиците няма значение освен ако не са извънредно много. Това мнение е било редактирано от Lachezar на 19-06-2023, 11:28 -------------------- И'м ватцхинг ъоу...
|
thrawn |
Публикувано на: 19-06-2023, 11:53
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3521 Регистриран на: 17.01.17 ![]() |
При мен скоростта на доставяне на съобщенията няма да е от съществено значение.
|
marquez |
Публикувано на: 24-06-2023, 15:44
|
![]() Име: Група: Потребител Ранг: Редовен член Мнения: 340 Регистриран на: 15.12.07 ![]() |
Използвай Nats с Jetsream и си готов.
|
thrawn |
Публикувано на: 25-06-2023, 06:49
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3521 Регистриран на: 17.01.17 ![]() |
Не виждам как Nats ми решава проблемът. А да мина от java на php някак не си е работа.
Това мнение е било редактирано от thrawn на 25-06-2023, 06:51 |
marquez |
Публикувано на: 25-06-2023, 08:02
|
![]() Име: Група: Потребител Ранг: Редовен член Мнения: 340 Регистриран на: 15.12.07 ![]() |
Къде видя PHP, даже не знам дали може да се ползва чрез PHP. Любопитно ми е какво си гледал.
|
thrawn |
Публикувано на: 25-06-2023, 15:10
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3521 Регистриран на: 17.01.17 ![]() |
|
relax4o |
Публикувано на: 25-06-2023, 16:12
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2730 Регистриран на: 04.04.07 ![]() |
-------------------- Бисери :D
|
||||
thrawn |
Публикувано на: 25-06-2023, 17:11
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3521 Регистриран на: 17.01.17 ![]() |
10x
Обаче до колкото виждам, няма JMS имплементация. Това значи, че или трябва да реализирам цялата асинхронна обработка (все пак, сървърите са ЕЕ където това се приема за даденост. това май не съм го споменал изрично) или да се прави мост с брокер имащ JMS. |
marquez |
Публикувано на: 26-06-2023, 07:42
|
![]() Име: Група: Потребител Ранг: Редовен член Мнения: 340 Регистриран на: 15.12.07 ![]() |
https://nats.io/ тук може да намериш информация.
Не ти трябва JMS нали все пак NATS е един вид подобрена алтернатива с персистънс и възможност супер лесно да реализираш publish-subscribe или request-reply. А ти вече ще си използваш Java Clent API в твоите war/ear и това е. Супер елементарно е, хвърли един поглед на документацията им и в youtube в канала на Synadia. Това мнение е било редактирано от marquez на 26-06-2023, 07:44 |
![]() |
![]() ![]() ![]() |