В Thrift нет такой вещи, как встроенное управление сеансами. Помните, что Thrift должен быть облегченной средой RPC и сериализации. Управление сессиями считается выходящим за рамки, расположенным как минимум на один уровень выше Thrift.
Я не уверен, что подход событий сработает, но, возможно, он сработает - я никогда не пробовал так.
Я бы рекомендовал включать идентификатор сеанса (или любой аналог, который вы используете) в каждый вызов. Вот как мы это делаем, и это работает довольно хорошо.
Несмотря на то, что модель «один обработчик на соединение» довольно удобна, она не очень масштабируется по дизайну (то же самое верно и для «поточных» серверов, кстати). Представьте себе, что любое количество подключений, кратное вашему выбору, равно 1000, параллельно забивает ваш сервис. Если есть хоть малейший шанс, что этот сценарий станет реальностью, вам следует подумать о другом решении, потому что, скорее всего, подход, который вы собираетесь использовать, не будет масштабироваться.
На самом деле, есть некоторые планы по интеграции данных типа «заголовок», но этого пока нет в кодовой базе Apache Thrift.
person
JensG
schedule
28.03.2014