指引网

当前位置: 主页 > 编程开发 > C >

redis+webdis 进行数据共享或打点分析

来源:网络 作者:佚名 点击: 时间:2017-07-19 23:08
[摘要]  Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。webdis 是一个简单的 Web 服务器,提供了 HTTP 接口来访问 Redis 服务器

现在各测试系统间的通信有napoli消息,http或dubbo接口,不是很灵活,优缺点就不评价了,今天来讲下各系统间的内存共享思路。

那就是用redis来存取数据,redis支持更加丰富的数据结构,如list,set,map等。而且有丰富的客户端支持,共有几十种之多,更加爽的是,还有个开源项目webdis,可以支持提供Restful的HTTP接口,如http://10.20.142.160:7379/get/foo.txt,有了它,js都能操作redis。那样前后台都打通了,想象下,java后台新增了一条数据,前台立刻就能拿到,或者说前台用户执行了摸个操作,就能永久记录下来,而不是放到本地存储,更不是调用后台接口来存储,是不是很灵活。

宙斯盾的三个应用场景是

1:各系统提的缺陷,现在需要在各系统额外开辟一个字段来存储这个关联关系,如测试管理系统,用例Id为123的用例上面提了一个bug,那就要存一个用例id,缺陷Id,缺陷类型这样的记录。如果这个用redis来存储,用webdis来做客户端,那页面上的少许js就能完成这样的功能。

2:通用session,现在各系统用同一的buc登陆,但登陆后的一些信息就不能共享了,如用户的一些偏好设定,测试管理系统登陆后选择了关注某条产品线,到性能预警中心后默认也是这条产品线,进Amon也是,这样的体验或许会很好。

3:打点/报告,现在的监控有各种各样的手段,进程监控,页面监控,还有hudson的插件式监控,但这些数据难以汇总展示,如hudson的插件监控,监控的数据没法保存。可以优化为:各数据按预定格式存储到redis上,然后统一的页面进行汇总展示。如插件可以统计每各时间段各执行机压力情况(任务数),而后台agent统计该时间段里面内存,cpu,load等情况,然后汇总页面,进行分析,得出几条曲线图,然后进一步可以分析出最优的任务安排。

------分隔线----------------------------