摘要:
延迟队列在我们工作中经常用到。比较常见的例子有订单发货后半个小时通知用户,用户在系统中定义了任务的执行周期,或者定时执行等场景。比较成熟的开源系统有小海豚(dolphinscheduler),目前可支持百万级的任务调度。公司级的调度或者数仓的任务调度可以在其基础上进行二次开发,而且开源给apache 阅读全文
摘要:
业务背景 当我们在使用多维度检索时,mysql显然已经不能满足我的的使用场景,尤其涉及到表之间的join且数据量较大时,mysql的查询性能显得捉襟见肘。 这时候ES的多维检索功能就派上用场了。我们可以将两张或者多张业务表,制作成一个比较宽的索引,监听业务的binlog,并将数据保存到ES中。 这样 阅读全文
摘要:
ES集群是主从模式的,其启动的过程主要包括主Master选举,集群元数据选举,索引主分片选取和副本分片选取。其主要过程如下: 1 Master选举 集群启动的第一件事就是选取Master节点,选取的时间点为当集群启动的备选master节点过半时,开始集群的选举,这一点和zookeeper是类似的 阅读全文
摘要:
ES是一个近实时的查询系统,基于其倒排索引的结构,使得其在根据文档值索引文档相当快,在此基础上,多节点,多分片,多副本等设计提高了整个系统的相应速度的同时,也保证了数据的高可用。下面我们介绍一下ES的存储结构。 Node 节点一般指的是我们部署集群的服务器,一个服务器我们认为是一个节点。这些节点中会 阅读全文
摘要:
HBase 的系统模型 原文连接 简介 NoSQL Hbase 是一种 NoSQL 数据库,其实它更是一个分布式数据库,从技术上讲,相较于数据库,HBase更像是一个数据存储。因为HBase缺少很多关系型数据库的特性,例如有类型的列,二级索引,触发器,高级的查询语句。 但是HBase提供了很多支持线 阅读全文
摘要:
HBase 数据模型主要由table,row,column,timestamp,cell几个元素构成。 table 表,一个表可能包含多行数据,在HBase中,表其实是一个分布式的表,真正的数据是存储在Region中的,Region可以理解为分片,每个表会包含多个分片,分别由不同的RegionSer 阅读全文
摘要:
一次使用中间件引发的OOM调查 描述问题 在上一次上线完成后,线上的系统在运行几天后就会收到FullGC频繁的告警,而且每台服务都会告警,万能的重启可以解决问题,但不是根本办法,肯定是上一期的代码出现了内存泄漏,在预发环境上,由于操作次数较少,这个问题很难暴露。于是dump 线上的内存,用JProf 阅读全文
摘要:
//调用:BeanDefinitionReaderUtils.registerBeanDefinition //最终实现:org.springframework.beans.factory.support.DefaultListableBeanFactory#registerBeanDefiniti 阅读全文
摘要:
public AbstractBeanDefinition parseBeanDefinitionAttributes(Element ele, String beanName, @Nullable BeanDefinition containingBean, AbstractBeanDefinit 阅读全文
摘要:
ES采用主从模式架构,Master节点的选取对整个集群的可用性及数据一致性都起到了关键作用,下面介绍一下ES选取主节点的流程(版本6.1) 整体流程 选举临时Master节点,判断如果本节当选,则等待选票超过半数,成为真正的Master节点,如果本节点不是临时Master节点,则尝试加入集群,加入集 阅读全文