Python使用gRPC入门到实战,把握就业先机
课时介绍
课程介绍
本门课程是带大家进入微服务领域入门的课程,很适合新手小白学习的课程。
1: 什么是rpc?
RPC(Remote Procedure Call)是函数对函数的远程调用,传输协议tcp,http,主要是基于xml,json序列化协议(这里的序列化协议是对数据编解码的方式),项目中我们真正用到的是grpc,grpc是一个框架,基于http2.0的长链接,性能有所改进,重要的是grpc用的是Google开源的protobuf序列化协议,它比json,xml性能更快,在压缩数据方面也更小。
总之我们选择grpc最主要的有两点:
1:支持跨语言开发(如python,golang,java)
2: grpc首先是一个框架,封装rpc,让程序员只关注代码逻辑即可
2: 为什么用grpc,而不用flask,django,tornado,即http协议?
1:http的调用是根据url的(即restful),它跟rpc的调用最大的区别就是这里,rpc的调用,你就像调用一个本地函数一样简单,而且微服务,分布式也是从rpc开始的,学好rpc对以后做好分布式会更有帮助,其实go语言和python语言里都有rpc(如xmlrpc,jsonrpc,zerorpc),我们之所以学习go语言里的rpc是因为go语言的rpc相对更加灵活,go语言本身也支持高并发,这一点对于分布式来说更好。
2:其次http协议,用过flask框架的人都知道,请求一次数据后就断开,而grpc基于http2.0,它不但可以保持长链接,传输效率也更高,使用方面,因为http2.0相当于tcp一样使用,现在很多大厂也都开始用http2.0了。
http2.0相比http的优势很明显,头部压缩,分流,针对tcp的多路复用。
所以基于http2.0的grpc无论从生态和性能方面都更好。
这张图是一个gRPC相关的架构图,同学们可以通过这张图了解gRPC在项目中的使用。
信息系统项目管理师自考笔记
李明 · 403人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 17879人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 3779人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 672人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 706人在学
java项目实战之购物商城(java毕业设计)
Long · 4946人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1388人在学
Python Django 深度学习 小程序
钟翔 · 2126人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 405人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3584人在学