несколько сервисов Thrift на одном транспорте

Просто ищу подтверждение здесь: протокол apache Thrift, похоже, не поддерживает запуск нескольких служб на одной конечной точке транспорта? (сокет, файл, что угодно)

Я не могу понять, как сделать что-то подобное в Thrift:

service otherService {
    void dosomething()
}

service rootService {
    otherService getOtherService()
}

Кажется, не существует никакой концепции передачи дескрипторов службы, в конечном счете ограниченной протоколом. Похоже, вы не можете запустить два сервиса на одном транспортном канале. Правильный ?


person kert    schedule 26.03.2010    source источник


Ответы (2)


Правильный. Насколько я понимаю, только второй service будет сгенерирован экономно, и это то, что будет связано при запуске сервера, который вы создаете на предпочитаемом вами языке (java, python и т. д.).

person Phillip B Oldham    schedule 12.04.2010

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

https://issues.apache.org/jira/browse/THRIFT-563 это хорошее место для начала.

PS: Рецензенты и дополнения приветствуются ;-)

person JensG    schedule 17.04.2013