当前位置:网站首页>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 .
边栏推荐
- 直白理解一文搞定http协议缓存
- Unity3d:ugui, UI and special effect particle level, bakemesh above 2018.2, particles between two images and in Scrollview
- HCIP---BGP相关配置
- 大白话说说synchronized关键词的三种用法
- PDF Online preview, use of pdf.js
- Common sort -- merge sort (recursive and non recursive) + count sort
- 记一次日志文件IO系统的设计心得
- 如何用普通的文本编辑器写Web页面
- Explanation of websocket protocol
- 0数组 LeetCode605. 种花问题
猜你喜欢

如何用普通的文本编辑器写Web页面

Instant messaging websocket

学习日记——(路由与交换技术)动态路由(rip协议)和静态路由

flask项目celery使用redis sentinel中遇到的坑

unity3d:UGUI源码EventSystem输入系统常见问题
![[fee of AUTOSAR (difference between nonvolatile memory flash and EEPROM)]](/img/cc/34bfcc450d82befab24173b0cb132d.png)
[fee of AUTOSAR (difference between nonvolatile memory flash and EEPROM)]

学习日记——(路由与交换技术)OSPF协议

C custom queue set

@Requiredargsconstructor annotation use

学习日记——(路由与交换技术)网络地址转换 NAT技术
随机推荐
整数乘以整数溢出了
HCIP---MGRE环境下的OSPF综合实验
Unity3d:ugui, UI and special effect particle level, bakemesh above 2018.2, particles between two images and in Scrollview
如何用普通的文本编辑器写Web页面
Explanation of websocket protocol
In depth analysis of replication in redis
Unity3D高清渲染管线无法在模型上播放视频
刷题笔记:二叉树剪枝(递归,迭代)
Analysis of Internet Protocol (II)
C #: TOPK: take the largest 100 before 10000 numbers, and sort the heap
Unity3d:UGUI源码,Rebuild优化
PDF在线预览,pdf.js的使用
第一篇试水--*offer
Unity在URP管线下使用TriLib插件加载模型材质不正确的问题
Unity3D+moba+技能指示器(二)
C#:TopK:1万个数取前最大的100,堆排序
【读书笔记《凤凰架构》- 构架可靠的大型分布式系统.周志明】(一)
Unity shader missing problem
0动态规划 LeetCode918. 环形子数组的最大和
HCIP---MGRE综合实验