实时服务系统软件工程师
项目描述: 产品系统能支撑至少3000台设备实时监控信息无延迟。
开发平台:windows开发工具: vs2010,liteide
开发语言:c go
技术实现:采用基于redis实现的数据采集上报方式。 1.设备驱动服务负责加载驱动库每秒从设备采集数据投递消息到redis。
2.上层采集器服务数据分区,分布式锁管理以实现上层采集器多实例冗余处理数据,然后根据消息的不同类型调用不同的业务插件库(也可以采用队列,本系统延迟数据无效故采用订阅方式)
3.业务插件库收到消息立即派发web前端,后续业务操作可放入内存队列开启多线程处理以免影响信息实时性。
经验总结:分布式锁的过期时间要根据具体业务场景来设定,本系统采用客户所能最大忍受时间5s作为过期时间(采集器运行期间出现程序崩溃或者其他不可控因素,分布式锁5s后过期)