① zerorpc---轻量级分布式通信框架
zerorpc是一套轻量级的分布式通信框架,基于ZeroMQ和MessagePack实现。以下是关于zerorpc的详细解答:
- 设计理念:简单工具解决简单问题。整个框架的Python代码仅2000行左右,体现了其轻量级的特点。
- 安装与使用:安装简便,通过pip即可安装。使用上,服务端提供RPC类并实现方法,客户端连接服务端后可进行远程调用,无需提前了解所有可用函数。
- 功能特性:
- 心跳检测:具备心跳检测功能,断线超时默认为30秒,断线后将抛出LostRemote异常。
- 异常处理:能够捕捉服务端发生的异常而不终止服务端进程,客户端可以捕获异常并进行相应处理。
- 流式响应:提供流式响应功能,适用于处理大量数据,类似于Python生成器的使用方式。
- 高可用性:官方推荐使用zerorpc与HAProxy结合使用,通过编写haproxy.cfg配置文件并启动HAProxy服务,实现请求均匀分配给后端机器处理,提高系统的高可用性。
- 性能优势:得益于ZeroMQ的高效性能和gevent的结合,以及MessagePack的消息序列化方式,zerorpc具有快速响应的特点。
- 应用场景:RPC多用于系统内部模块之间的调用,适用于需要快速响应的场景。在选择使用RPC还是HTTP时,需根据具体需求和场景进行判断。
② 运维工程师需要掌握什么技能
运维工程师需要掌握的技能:
1、首先是主机、网络及操作系统基本知识。在出现问题时,懂得在各个网络位置抓包,来确认故障设备或线路,会使用Linux的tcpmp抓包或者ethreal、sniffer、Wireshark等抓包软件,会在网络设备上配置镜像,将关心的流量抓出来进行分析。

2、懂开发,能实现自动化运维。比如使用Shell、Python、Perl等脚本语言做一些自动化运行脚本、诊断故障的脚本,使用这些脚本可以提升工作效率,将重复性的简单工作交给脚本程序处理,也可以通过这些脚本判断故障发生的位置和原因,高效的运维将不再需要人工去逐个字符地去输入各种命令。
3、未来云计算与大数据势必成为整个互联网行业的支撑。所有云计算运维工程师以及大数据工程师的作用就越来与明显,同时云计算以及大数据相关高端人才的需求量也会越来越大。