Transporte RPC
O RPC pode ser implementado nos protocolos de transporte TCP ou UDP, a aplicação deverá tomar cuidados sobre o tipo de protocolo que o RPC vai utilizar, pois o RPC não implementa nenhuma forma de confiabilidade. Se o envio for através de um protocolo TCP (confiável) todas as preocupações quanto ao tipo de confiabilidade já são eliminadas, pois o protocolo TCP já possui os serviços de segurança necessários. Caso o envio seja através de um protocolo UDP (não confiável), alguns mecanismos de timeout, detecção de duplicatas e retransmissão terão que ser implementados, pois esses serviços não são providos pelo RPC.
Devido à independência da camada de transporte, o protocolo RPC não
modifica a semântica das chamadas remotas, nem seus requisitos de
execução. A semântica pode ser inferida a partir da camada de transporte
em uso.
A maioria dos serviços de RPC são orientados a UDP, porque são baseados em requerimentos de curta-duração. Usando UDP força que a chamada de RPC contenha suficiente informação de contexto
para sua execução independente de qualquer outro requerimento de RPC, já que os
pacotes UDP podem chegar em qualquer ordem.
* Time out:
Quando uma chamada de RPC é realizada, o cliente deve especificar um período de
timeout no qual a chamada deve se realizar, Se o servidor estiver sobrecarregado ou desligado, a chamada remota não será
executada antes do fim do timeout. A ação tomada no timeout do RPC varia de aplicação para aplicação, umas procuram outro servidor outras mandam de volta a chamada de RPC.
Nenhum comentário:
Postar um comentário