Flume 内部原理
本文主要使用其中的Interceptor和Channel Selector
Interceptor:
对source中的数据在进入channel之前进行拦截做一些处理,比如过滤掉一些数据,或者加上一些key/value等。flume内置了一些拦截器,也可以...
2年前 (2022-10-18) 1742℃
1喜欢
介绍
基于SQL的过滤,因为对SQL语句执行了校验和SQL语法的解析,执行效率相对于tag方式较低,同时作为自定义属性,他不像tag是标准的结构体,所以在进行消息筛选的时候,相比起tag过滤,这种SQL过滤的方式,执行效率是相对比较慢的,只适用于数据量不大,需要灵活来进行调整的时...
2年前 (2022-10-12) 6633℃
0喜欢
五种消息类型介绍
普通消息:普通消息也称为并发消息,和传统的队列相比,并发消息没有顺序, 但是生产消费都是并行进行的,单机性能可达十万级别的TPS。
分区有序消息:与Kafka中的分区类似,把一个Topic消息分为多个分区“保 存”和消费,在一个分区内的消息就是传统的队列,遵循...
2年前 (2022-10-12) 9153℃
1喜欢
G1总结
现在互联网的项目,基本都是使用G1垃圾回收器。
原因如下
G1和JDK1.8默认的Parallel+SerialOld垃圾收集器对比
回收性能
PS+SerialOld:超过32G内存回收时,Serial Old老年代单线程性能堪忧,出现老年代GC基本宣告应用死刑!
G...
2年前 (2022-10-08) 2613℃
1喜欢
垃圾回收器概述
垃圾收集机制是Java的招牌能力,极大地提高了开发效率。GC垃圾收集器是和JVM一脉相承的,它是和JVM进行搭配使用,在不同的使用场景对应的收集器也是有区别
7种经典的垃圾收集器:
串行回收器:Serial、Serial old
并行回收器:ParNew、Par...
2年前 (2022-10-08) 2371℃
0喜欢
为什么需要分布式锁
在分布式架构中,多个程序访问统一资源的时候,传统的synchronized是无效的,它只针对一个JVM进程内多个线程起到同步作用,对跨进程无效。
解决方案:
1、利用数据库select … for update 语句对库存进行锁定,依赖数据库自身特...
2年前 (2022-10-08) 1237℃
0喜欢
为什么要用序列化
对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。//当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。
序列化过程:用一个字节序列可以表示一个...
2年前 (2022-10-08) 956℃
0喜欢
垃圾回收算法概述
垃圾回收算法主要分为两个阶段,分别是标记阶段和清除阶段
垃圾标记阶段:主要是为了判断对象是否存活
1、在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在...
2年前 (2022-10-06) 1020℃
1喜欢
定义
备忘录模式Memento是⼀种⾏为设计模式, 允许在不暴露对象实现细节 的情况下保存和恢复对象之前的状态。
很多时候我们总是需要记录⼀个对象的内部状态,这样做的⽬的就是为 了允许⽤户取消不确定或者错误的操作,能够恢复到他原先的状态,使 得他有”后悔药”...
2年前 (2022-10-06) 985℃
1喜欢
介绍
桥接模式(Bridge 模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。
是一种结构型设计模式
桥接模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Imple...
2年前 (2022-10-04) 5045℃
0喜欢