梳理模型部署之Web框架蒙圈解读

文章梳理给需要的朋友和自己

对于大佬或者技术类专业的人看我的文章毫无营养可言,梳理和总结些实践中解决问题的经历,分享给入门的人同行,前行不易分享快乐;

Web框架、GRPC、RESTful  为什么做机器学习、深度学习或者算法工程师需要了解这些东东?  很多朋友是非技术专业出身,有些团队甚至会有专人进行模型上线部署工作,但是作为算法工程师我们总要掌握开发部署上线监控调优的全流程工作,成长为一个优秀的自己。模型部署上线是成为未来优秀自己的最后一公里障碍。(先回家明天接着写哈)

(一)gRPC与RESTful API的区别:

RESTful API 通常使用 JSON 或 XML 的格式传输信息,比较通俗易懂,但文本格式序列化性能较差;
gRPC 对接口有严格的约束条件,安全性更高,对于高并发的场景更适用。

gRPC与RESTful的区别_seabluely-CSDN博客_grpc restful

Web服务实现方案对比: RPC、SOAP、gRPC、REST

(二)gRPC

gRPC 是现在最流行的二进制 RPC 框架之一,2015 年由 Google 开源,在发布后迅速得到广泛关注。

1.1. 协议约定

gRPC 的协议是 Protocol Buffers,是一种压缩率极高的序列化协议,效率甩 XML,JSON 好几条街。 Protocol Buffers支持多种编程语言(python),所以 gRPC 支持客户端与服务端可以用不同语言实现。

1.2. 传输协议

在 JAVA 技术栈中,gRPC 的数据传输用的是 Netty Channel(注意不是http), Netty 是一个高效的基于异步 IO 的网络传输架构。Netty Channel 中,每个 gRPC 请求封装成 HTTP 2.0 的 Stream。

基于 HTTP 2.0 是 gRPC 一个很大的优势,可以定义四种不同的服务方法:单向 RPC,客户端流式 RPC,服务端流式 RPC,双向流式 RPC。

1.3. 服务发现

gRPC 本身没有提供服务发现的机制,需要通过其他组件。一个比较高性能的服务发现和负载均衡器是 Envoy,可以灵活配置转发规则,有兴趣的可以去了解下。

(三)RESTful

gRPC 更多的是用在微服务集群内部,服务与服务之间的通信,服务与客户端之间的通信,REST 可以说是现在的主流。

REST:表征状态转移(Representational State Transfer)

采用Web服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源,REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。

Http协议所抽象的get,post,put,delete就好比数据库中最基本的增删改查,而互联网上的各种资源就好比数据库中的记录(可能这么比喻不是很好),对于各种资源的操作最后总是能抽象成为这四种基本操作,在定义了定位资源的规则以后,对于资源的操作通过标准的Http协议就可以实现,开发者也会受益于这种轻量级的协议。

REST是一种软件架构风格而非协议也非规范,是一种针对网络应用的开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

Web服务实现方案对比: RPC、SOAP、gRPC、REST - brt2 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值