Restful, SAOP, SOA, RPC is based on the understanding

What is Restful

restful is an architectural design, provides design principles and constraints, rather than architecture. And to meet these constraints and the application of the principles of architecture or design is RESTful or service.
The main design principles:

  • Resources and URI
  • Uniform Resource Interface (HTTP methods such as GET, PUT and POST)
  • Resource representations
  • Links to resources
  • Transfer status

What is SAOP

  • soap is a data exchange protocol specification, a lightweight, simple, XML-based protocol specification. SOAP and HTTP, are the underlying communication protocol, but a different format of the request packet, the packet is SOAP XML format.
  • soap xml-based and packaged in a line with the http protocol, so that it complies with any router, firewall or proxy server.
  • soap can be done in any language, as long as the request to send the correct soap, soap-based services can be used normally without modification on any platform.

RPC remote call

RPC stands for Remote Procedure Call is an interprocess communication.
It allows a program to call another address space (typically on another machine sharing network) procedure or function, rather than the programmer explicitly coding details remote calls. That is, whether it is a local call interface / service or remote interfaces / services, essentially calling code written in basically the same.
For example, two servers A, B, A an application deployed on the server you want to call a function or method on the B server applications, because it is not a memory, not directly call, this time required by the application can implement RPC framework to solve

Several typical RPC implementation and invocation framework.

(1) RMI implemented using java.rmi package implements, (Java Remote Method Protocol) protocol-based Java Remote Method
and java native serialization.
(2) Hessian, is a lightweight remoting onhttp tool, using a simple method provides RMI functionality. Based on the HTTP protocol, binary codec.
(3) thrift is a software framework for scalable cross-language services. thrift allows you to define a description file that describes data types and service interfaces. According to this document, the compiler easily generate RPC client and server communications code.
(4) SpringCloud provides developers with the tools to quickly build distributed systems, including configuration management, service discovery, circuit breakers, routing, micro broker, event bus, global lock, decision-making campaign, distributed session and so on.
(5) Dubbo Alibaba open source is a high performance excellent service framework, so that the application can realize output and input functions and services through the RPC performance, and can be seamlessly integrated Spring Framework

What is SOA

可以理解为微服务架构

Business system is decomposed into several components, so each component independently provide discrete, self-service capabilities and reusable
to implement business processes through a combination of upper and presentation services
role: simplify maintenance and reduce overall risk, scalable and flexible

Micro Services Architecture

  • What is a micro-service architecture
    architecture design concept among service isolation (also distributed isolation), autonomy (Distributed rely total portfolio) Other properties (single responsibility, borders, asynchronous communication, independent deployment) is a distributed concept

Role: Each service can be a standalone application, the service can also be a combination of system applications (boulders application [monolith] simplified implementation strategies - Mentality)

  • SOA architecture and micro-architecture service distinguish
    SOA architecture aimed at enterprise-level, using the ESB service (ESB enterprise service bus), very heavy, require serialization and de-serialization in XML transport format.
    Micro-architecture major Internet services company, lightweight, compact, stand-alone, Http + Rest + JSON format based transport.

ESB can be said that traditional middleware technology and XML, Web services and other technologies combined with each other's products.

Guess you like

Origin www.cnblogs.com/Libbo/p/11579515.html