RPC是完整的远程调用方案,它通常包括通信协议和序列化协议
通信协议包含http协议、自定义报文的tcp协议
gRPC是使用http2
rpc:远程调用–一个应用部署在A服务器上,想要调用B服务器上应用提供的方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据(就像调用本地的函数一样去调远程函数)
为什么后端子系统之间使用自定义的tcp协议的rpc来做进程通信?
自定义报文的tcp协议,报头占用的字节数也就只有16个byte,大大地减少了传输内容。高并发情况下,少几个字节,乘与巨大的请求数量,能带来庞大的收益
前后端使用http协议比较多的原因?
主流网页浏览器都支持http协议,而且http在缓存、幂等重试乃至cookie这种浏览器安全相关的方面做了很多功夫
restful
get/tasks 获取所有任务
post/tasks 创建新任务
get/tasks/{id} 通过任务id获取任务
put/tasks/{id}更新任务
delete/tasks/{id}删除任务
get 代表获取一个资源,post代表添加一个资源,put代表修改一个资源,delete代表删除一个资源
优点:风格统一、面向资源一目了然、
https://www.bilibili.com/video/BV1ki4y1D7Nf?spm_id_from=333.337.search-card.all.click&vd_source=df30d42fb6b7e21d7b650dc93dcd7aad



