Thrift
RPC: Thrift
Instalação
- Baixe e compile o thrift
- ou instale-o usando apt-get, por exemplo.
apt-get install thrift-compiler
- execute "thrift" na linha de comando.
- Para thrift com Java, também precisarão dos seguintes arquivos
- slf4j
- libthrift0.13.0.jar
- coloque-os na pasta
jars
IDL Thrift
- Serviços
1 2 3 4 5
service ChaveValor { void set(1:i32 key, 2:string value), string get(1:i32 key) throws (1:KeyNotFound knf), void delete(1:i32 key) }
- Não se pode retornar NULL!!!
- Exceções
1 2 3 4
exception KeyNotFound { 1:i64 hora r, 2:string chaveProcurada="thrifty" }
Exemplo: chavevalor.thrift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Compilação
thrift --gen java chavevalor.thrift
thrift --gen py chavevalor.thrift
ChaveValorHandler.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
Arquitetura
- Runtime library -- componentes podem ser selecionados em tempo de execução e implementações podem ser trocadas
- Protocol -- responsável pela serializaçãoo dos dados
- TBinaryProtocol
- TJSONProtocol
- TDebugProtocol
- ...
- Transport -- I/O no ``fio''
- TSocket
- TFramedTransport (non-blocking server)
- TFileTransport
- TMemoryTransport
-
Processor -- Conecta protocolos de entrada e saída com o handler
-
Handler -- Implementação das operações oferecidas
- Server -- Escuta portas e repassa dados (protocolo) para o processors
- TSimpleServer
- TThreadPool
- TNonBlockingChannel
Classpath
1 2 3 |
|