摘要: 告警结果产生后,可能需要发送短信,邮件,故障管理系统。这些转发操作不应当影响告警生成入库,并且类似事件可能根据不同场景,客户习惯不同,此时,使用观察者模式则可以很好的适应上述场景。 观察者模式应当包括: 1、 观察事件; 2、 观察者接口; 3、 若干观察者; 4、 观察者注册管理中心; 下面,我们 阅读全文
posted @ 2017-05-31 23:38 coshaho 阅读(551) 评论(0) 推荐(0) 编辑
摘要: Ignite作为分布式内存,集群管理必不可少,Ignite支持基于组播,静态IP,Zookeeper,JDBC等方式发现节点,本文主要介绍基于静态IP的节点发现。 两个最重要的TCP通信设置类: 1、 TcpDiscoverySpi 用于设置集群维持与节点发现的tcp通信ip,port。 2、 Tc 阅读全文
posted @ 2017-05-30 20:45 coshaho 阅读(4390) 评论(0) 推荐(0) 编辑
摘要: 一个发展中的电信市场,网络容量往往是线性增加的,我们可以通过拟合历史网络容量指标,来判断未来网络规模,从而提前进行网络扩容,防患于未然。 线性回归实际上是找到一条直线,使得所有观测点y值到直线的离差平方和最小。 一、多元线性回归 多元线性回归使用矩阵方程可以很好的描述: 1、 拟合的p元线性方式格式 阅读全文
posted @ 2017-05-28 22:21 coshaho 阅读(5549) 评论(0) 推荐(1) 编辑
摘要: Ignite采用h2作为内存数据库,支持h2的一切sql语法。如果是本地缓存或者复制缓存,sql执行直接在本地h2数据库中执行,如果是分区缓存,ignite则会分解sql到多个h2数据库执行后再汇总。 通过@QuerySqlField注解可以轻松的把对象属性映射到表字段,下述代码实现了缓存对象与h2 阅读全文
posted @ 2017-05-25 23:23 coshaho 阅读(8633) 评论(0) 推荐(0) 编辑
摘要: 监控一个地区网络设备的性能指标,会通过报表或告警展现,报表或告警往往只关心部分设备,此时在数据查询中我们就会进行设备实体过滤。实体树过滤是一种常见的过滤方式,但是网络设备数量巨大,我们不可能在页面上加载所有实体,前台也就无法把用户选择的所有实体(叶子节点)传递到后台,这时候就不能简单的采用in条件来 阅读全文
posted @ 2017-05-20 00:41 coshaho 阅读(2165) 评论(0) 推荐(0) 编辑
摘要: Guava是一个很方便的本地缓存工具,但是在多节点处理的过程中,本地缓存无法满足数据一致性的问题。分布式缓存Ignite很好的解决了数据一致性,可靠性,事务性等方面的问题。 Ignite支持分区方式和复制方式存储数据,侧重于不同读写比例的分布式缓存使用。同时,Ignite可以缓存整个数据库数据,支持 阅读全文
posted @ 2017-05-14 22:55 coshaho 阅读(870) 评论(0) 推荐(0) 编辑
摘要: storm引擎计算出一批中间告警结果,会发送一条kafka消息给告警入库服务,告警入库服务接收到kafka消息后读取中间告警文件,经过一系列处理后把最终告警存入mysql中。 实际上,中间告警结果可能有重复告警、错误告警、无用告警,告警入库服务会过滤,压缩中间告警,把用户关心的告警存入数据库。过滤的 阅读全文
posted @ 2017-05-13 01:03 coshaho 阅读(4821) 评论(0) 推荐(0) 编辑
摘要: 生产一个产品,需要依次执行多个步骤,才能完成,那么是使用责任链模式则是极好的。 在性能告警模块开发过程中,创建一条告警规则需要执行阈值解析,中间表生成,流任务生成,规则入库,告警事件入库等诸多操作。如果把这些步骤糅合在一个类中,代码可读性及复杂度往往是灾难的,特别对于这么多步骤的事务性操作,更是力不 阅读全文
posted @ 2017-05-06 00:38 coshaho 阅读(5598) 评论(1) 推荐(0) 编辑
摘要: 用正则表达式进行字符串校验,截取十分方便,项目开发中灵活的使用正则表达式能让你的代码简洁优雅并且不易出错。在实际的应用中,掌握以下几点知识就可以应付绝大多数的开发场景了。 1、 字符串开始结束匹配:^$。 ^abc$完全匹配字符串abc。 2、 特定类型字符匹配:数字\d,数字字母下划线\w,空格\ 阅读全文
posted @ 2017-03-31 21:51 coshaho 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 项目开发中,很多配置数据需要缓存,一般来说,开发人员都会手动写HashMap,HashSet或者ConcurrentHashMap,ConcurrentHashSet缓存数据,但是这样的缓存往往存在内存泄漏,刷新机制不健全等缺点。实际上有不少第三方组件实现了功能完善的本地缓存,建议大家直接使用成熟的 阅读全文
posted @ 2017-02-21 22:19 coshaho 阅读(12132) 评论(0) 推荐(1) 编辑