gRPC方式做负载均衡在EasyCVR视频平台录像模块的应用示例

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gRPC方式做负载均衡在EasyCVR视频平台录像模块的应用示例相关的知识,希望对你有一定的参考价值。

gRPC 是一个高性能、开源、通用的 RPC 框架,基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。在进行EasyCVR录像模块的开发时,由于视频录像合成处理模块十分消耗CPU性能,因此计划部署多个视频处理服务器以分布式方式部署,计划采用gRPC方式通信。

nginx1.13版本后支持gRPC协议,所以我们决定采用Nginx做负载均衡。

具体实现过程如下:

46.png

上图为Nginx实现gRPC负载均衡的配置文件示例,upstream为上游反向代理服务器的地址;Server为Nginx暴露外部的实际端口。

服务端代码示例如下:

47.png

服务端可以监听任意端口,开启服务,只需将服务端IP及端口配置到Nginx的Upstream模块。

客户端代码示例如下:

48.png

这里所有客户端程序只需要连接Nginx暴露的端口即可。

执行效果如下:

49.png

50.png

Nginx会根据配置文件的访问权重设置,自动对所有的连接进行负载均衡配置。由于不确定RPC请求具体会访问哪个服务器,因此还需要统一的文件服务器,但在此文中我们不做过多赘述。


作者:TSINGSEE
链接:https://juejin.cn/post/6966798033283448839
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于gRPC方式做负载均衡在EasyCVR视频平台录像模块的应用示例的主要内容,如果未能解决你的问题,请参考以下文章

视频融合平台EasyCVR设备录像无法播放的问题排查与解决

AI智能视频融合平台EasyCVR设备录像回看新增播放倍速

硬盘录像机通过SDK接入EasyCVR,报错error code[13]是什么原因?

视频融合平台EasyCVR视频广场搜索新增通道检索功能

EasyCVR平台云存储技术的应用场景解析

EasyCVR更新到最新版本,设备下不显示通道是什么原因?