flume:海量日志采集工具。缺点:
1.数据主要保存在内存,容易丢失,
2.不容易添加消费者,
3.使用sink推送模式
改善:
1.把数据保存成文件,但性能可能会低,并设置数据的生命周期;
2.当数据量过大时,需要添加服务器,就需要使用负载均衡器或者注册中心(协调调度中心);
kafka通过hashmap计算hash值,然后做15位的位运算来确定索引,做完位运算的值范围是0~15,所以,hashmap数组的默认长度是16,减一得到15,
hashmap在扩容的时候一定要是2的n次方,因为2的n次方-1之后才能保证后面数字全是1
在Java中是采用的有符号的运算方式,故:高位为符号位,其余位存储数据信息。
简单来说:
+1 ->// 00000001
-1 ->// 10000001
默认例子中的值都按byte来算,占8位,减少大家的记忆负担。
因为byte占8位,所以有效数据存储7位,最高位为符号位。int值则是31位存储数据。
- 0 代表正数
- 1 代表负数
byte是8位的二进制数字,所以11111111 = -1,1