Easy to understand how a programmer to understand SOA and RPC?

1.SOA

   SOA (Service-Oriented Architecture) service-oriented architecture, application to different functional units (called services) split, and linked via well-defined interfaces between services and contracts.

   SOA is not a specific standard, is a technology idea, a concept, the picture shows the reference model for SOA architecture.

   SOA is an interface between one kind of precise definition is coarse-grained, loosely coupled service architecture, a simple service, the communication does not involve the underlying programming interfaces and communications models.

2.RPC

   

   RPC (remote procedure call) remote procedure call, i.e. local calls a function or object method, is actually a function or method call on a remote machine.

   RPC and personal understanding of SOA is not the same as is the norm, not the agreement, a technical idea, a concept, in fact you have been in daily contact with coding it, but you do not perceive it.

   For example familiar to Cheung HTTP it is a good way to reflect the RPC thought, though HTTP has a comprehensive system of norms and standards, but failed to meet the increasingly complex internal and external interaction information.

   So many excellent RPC framework came into being, the object-oriented package of some advanced features like load balancing, blown downgrade, service registration, service discovery, and so on.

   Popular Ali RPC framework of Dubbo, open source microblogging Motan, Google open source gPRC, Baidu open source bRPC, ants gold dress open source sofa-rpc and so on.

   There are also restrained such as RMI JDK 1.1 RPC framework began to emerge (at both ends must use Java), HttpInvoker Spring MVC in (at both ends must be introduced into the Spring).

   Since RPC framework needs to call remote resources on other servers, then the inevitable need for network communication and transport, you can select an existing mature protocol, of course, you can also customize.

   For example, Google's self-development gRPC use HTTP2 as the communication protocol used by default its own Protocol Buffers as a transport protocol.

   阿里大佬自研的 dubbo 支持九种不同的通讯协议和各自的传输定义,有兴趣的戳后面链接:https://blog.csdn.net/xiaojin21cen/article/details/79834222

   

 

   

Guess you like

Origin www.cnblogs.com/java-class/p/10653404.html