03 Kafka 原理介绍

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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值