当前位置:网站首页>Reading Phoenix Architecture - History and knowledge of RPC
Reading Phoenix Architecture - History and knowledge of RPC
2022-07-23 12:48:00 【liangdu_ Zuker】
read 《 Phoenix Architecture 》- RPC History and knowledge
quote : 《 Phoenix Architecture 》- Zhi-ming zhou
Access remote services
- The two processes exchange data , In computer science become IPC, at present IPC Technology has :pipe The Conduit , Interrupt signal , Synchronous semaphore , Message queue , Shared memory ,IPC socket.
- RPC Regarded as a special IPC, In the early RPC Used in network communication , Transparent invocation features lead to abuse , Even questioned .
- Remote calls require extra attention than local calls : Network reliability , bandwidth , Security , Extensibility , Maintenance and transmission costs .
- RPC As transparent as local calls, you have to pay for these problems .
- RPC It is business level communication ,IPC It is the bottom communication of the system , It is a mainstream view in the industry .
- 1981 Year of RPC The definition of call emphasizes RPC It is the process at the language level , Based on limited bandwidth , For transmitting control information .( Environment and use )
- Understand ,RPC Is to achieve transparent cross process control under limited conditions .
- RPC The problems that need to be solved can be summarized as “ According to the data ”“ To transmit data ”“ Representation ”. With webservice As an example , Corresponding “XML”“SOAP”“WSDL”
- If it is JSON-RPC The corresponding solution to the problem is “json”“HTTP”“JSON webservice agreement ”
- RPC The three problems to be solved are all cross platform
- Modern RPC The protocol has won top and bottom battles on cross platform and lightweight .
- webservice Not light enough , The reason is that the extension of his protocol stack contains too many complex things , Including the nature of things , Uniformity , event , notice , Security , Anti replay, etc .
- RPC The dilemma is to solve network and other problems transparently , And the agreement itself is light and simple .( It's like asking 25 Year old you 10 Years of working experience )
- Even now, this problem still plagues the industry ( therefore , Don't be too obsessed json-rpc and grpc La )
- Based on this embarrassing fact ,RPC There are three popular genres “ object-oriented RMI”“ Performance oriented gRPC”“ Pursue simple json-rpc”
- Personal experience , Large scale selection gRPC type , Pursue agility json-rpc. as for RPC Network problems faced ( Security , thing , reliable , cost ) Just introduce other components to make up for it according to business trade-offs .
- Also because of the pursuit of portability , quite a lot RPC Not solved positively RPC Three questions ( The data shows , Communication mode , Methods described ), Instead, the solution to the problem is made into an extension port , Users unplug as needed .
- therefore , We know a little , Various “ Load balancing , Service discovery , Observability ” And so on RPC Three problems in ( The data shows , Communication mode , Methods described ) It caused .
- Distributed systems do not have to be method oriented , That is to say, you don't have to go to the front RPC Three big questions .
- REST and RPC It's something different , It's hard to compare .
- REST The proposer is engaged in a lifetime web Of ,RPC The proposal of is to do system process communication . In essence, it is not a Tao .
- REST representational state transfer Medium “representational characterization ” It can be understood as hyper text Further abstraction of hypertext .
- REST It seems too simple , So that when dealing with complex business RPC It seems to be tied up .
- In the context of complex technology , Popular lightweight and customized design , Like lightweight RPC And Backend For Frontend The proposed .
- Gateway significance , Forward routing and reverse proxy .
边栏推荐
- @RequiredArgsConstructor注解使用
- 简洁描述raft与paxos在设计上的共同点和不同点
- 剑指offer 05 两个栈实现队列
- C #: TOPK: take the largest 100 before 10000 numbers, and sort the heap
- C # custom stack
- OSPF和RIP的路由扩展配置
- Explain TCP segmentation and IP fragmentation in detail
- 剖析Redis集群
- Implementation of heap and heap sorting
- C (CSharp) wechat official account development - basic configuration
猜你喜欢

学习日记——(路由与交换技术)网络地址转换 NAT技术

HCIP---MGRE综合实验
![[bootloader architecture and brushing process based on UDS service]](/img/c7/de4f1e32f89173e18d74d2f624f3f9.png)
[bootloader architecture and brushing process based on UDS service]

Prometheus Operator使用指南笔记

OSPF和RIP的路由扩展配置

GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat

OSPF的链路扩展配置

HCIP---条件匹配和OSPF协议
![[fee of AUTOSAR (difference between nonvolatile memory flash and EEPROM)]](/img/cc/34bfcc450d82befab24173b0cb132d.png)
[fee of AUTOSAR (difference between nonvolatile memory flash and EEPROM)]

MySQL performance optimization, index optimization
随机推荐
C# 自定义Queue队列集合
Instant messaging websocket
linkerd服务网格调研笔记
Sql Server性能分析,查看慢查询
以go语言为例类比侦探推理来讲解【性能分析】
【数据库】基础理论
OSPF和RIP的路由扩展配置
Hcip--- BGP related configuration (Federal chapter)
详解TCP的交互数据流和成块数据流
HCIP-第一次实验
Unity3d+GameFramework:资源分析,资源依赖,循环依赖检测
0动态规划 LeetCode1024. 视频拼接
浅析互联网协议(二)
C语言也能写植物大战僵尸
Analysis ideas of strong consistency and weak consistency and concurrency skills of distributed scenarios
[AUTOSAR DCM 1. module introduction (DSL, DSD, DSP)]
PDF在线预览,pdf.js的使用
GameFramework:Resource加载,资源加载,依赖加载,任务池,对象池,引用计数
0最短路径问题 LeetCode743. 网络延迟时间
Unity3d: special effect object pool, timeout delete GameObject in the pool, GC weight