Мога ли да имам откриваеми услуги с Apache Thrift?

Целта би била да има откриваеми спестяващи сървъри, които могат да изчисляват неща, по-специално бих искал да знам какви услуги имат и какви са ttypes за параметрите, от които се нуждаят тези услуги. В идеалния случай всичко, което трябва да знам, е IP и порта на сървъра и да мога да получа обратно цялата тази информация, преди да го използвам.

Да приемем, че сървърът има следната услуга:

service Calculator {
   double add(1:double num1, 2:double num2),
   double subtract(1: double num1, 2:double num2),
   double sqrt(1:double num1)
}

Като имате само IP и порт, възможно ли е да знаете, че този сървър има тези три метода и колко променливи приема всеки от тях и от какъв тип?


person Santiago    schedule 05.09.2014    source източник


Отговори (1)


Thrift не предоставя инфраструктура за рамка за местоположение на услуги (помислете WADL), просто защото това е (поне в момента) извън обхвата на Thrift. Въпреки това човек наистина има редица възможности.

  1. Публикуване на Thrift IDL файл(ове) като елементи за изтегляне чрез HTTP, както прави Evernote.

  2. Използване на thrift -gen html yourfile.thrift за генериране на хубава HTML страница, съдържаща пълно описание на всичко, което има в IDl файла, включително всеки /** docstyle comments */, който сте направили. Резултатът изглежда много подобен на Справочника за API на Evernote, с изключение на това, че междувременно оформлението се подобри донякъде .

person JensG    schedule 05.09.2014
comment
Благодаря, подозирах, че е така, но не бях 100% сигурен. Оценявам препоръките. наздраве! - person Santiago; 05.09.2014