Разработка клиентского сервиса JMS - автономный сервис - PullRequest
1 голос
/ 05 апреля 2020

Требование

  1. Приложение относится к транзакциям (заявки на кредит)

  2. Нагрузка - варьируется от 300 до 1000 из страны в страну

  3. У нас есть 30 стран для поддержки

Каждая страна имеет: -

    Own Schema (Prefix with country code)

    Own JMS Queue (Prefix with country code)

    Application/JMS Logs and folders (Prefix with country code)

    Request/Response folders (Prefix with country code)

Через сторонние приложения / транзакции отправляются в JMS-очереди для какой бы страны они не принадлежали.

Решение

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

  1. Запустите 30 экземпляров этой автономной службы JMS, код страны будет передан в качестве аргумента. С этим кодом страны все соединения с БД, ведение журнала, запрос / ответ на запись, очередь JMS-соединения могут иметь префикс с кодом страны, передаваемым в качестве аргумента VM.

  2. Имеют 1 экземпляр, внутри которого создается столько поток в соответствии со страной, и каждый поток управляет (1 соединение с БД, 1 JMS, соответствующее ведение журнала, запись в папку для каждой страны).

Может быть, есть лучший подход для обработки этого. ?

Сверху 2, какие могут быть плюсы и минусы?

Мы используем TIBCCO в качестве JMS из-за ограничений, которые мы можем использовать только TIBCCO. Дизайн БД также останется без изменений, так как он реализован в настоящее время, и существует множество SP, функций, триггеров, определяемых страной c.

Таким образом, мышление для мультитенантной системы не является вариант.

...