У меня есть конкретное требование, согласно которому Mule будет извлекать информацию из системы провайдера и отправлять ее в другую систему, существует серия таких асинхронных вызовов, в которых мы должны сопоставлять каждое сообщение с конкретным сеансом пользователя, может ли кто-нибудь поделиться своим мнением о том, как мы можем поддерживать сеанс в муле для асинхронных вызовов? Один подход, который я думал, чтобы сохранить его в БД, но это вызовет проблемы с производительностью. Любые мысли будут высоко оценены.
Поддержание сеанса при асинхронных вызовах в Mule
Ответы (1)
Вы можете попробовать использовать для этого хранилища объектов. , где каждая сессия пользователя может быть сохранена и доступна в магазине по уникальному идентификатору. Они могут храниться в памяти или сохраняться физически (в зависимости от ваших требований). Проверьте Коннектор хранилища объектов, чтобы легко получать и сохранять объекты из хранилищ.
person
Nuno
schedule
09.12.2016
Спасибо @Nuno за ответ, есть ли какие-либо ограничения на использование хранилища объектов, что я узнал, так это то, что оно не может обрабатывать огромное количество данных в нем и имеет какой-то верхний предел?
- person user6284034; 12.12.2016
Если вы запускаете свое приложение в CloudHub, у вас есть ограничения. Если вы работаете локально, я думаю, что единственным ограничением является размер вашей кучи. Вы можете проверить этот пример, чтобы сохранить хранилище объектов в базе данных ( рекомендуется для кластерных сред). Я не уверен (надеюсь, я ошибаюсь), но объекты в хранилище сохраняются в памяти, даже если вы используете постоянное хранилище объектов (однако, если вы перезапустите приложение, вы сохраните свой объект). Но вы можете проверить это, выполнив некоторые тесты. Надеюсь, поможет.
- person Nuno; 12.12.2016