-Xmx Heap最大值默认值为物理内存的1/4,朂佳设值应该视物理内存大小及计算机内其他内存开销而定;
修改Kafka的堆内存分配
6.顺序保证:保证一个分区内的消息有序
7.异步通信:其中一端将消息放入kafka后无需等待对方响应,可继续执行其他任务
8.数据持久化:kafka支持消息持久化到磁盘规避了网络不稳定造成数據丢失
解耦合:承担数据总线作用,在两个系统之间专递数据;
开发效率:无需了解系统之间的数据接口只需面向kafka编程;
异步通信:提高资源利用率
topic 主题 消息集合,每个topic至少一个分区不同分区的消息key不同;
可通过增加broker增加分区,从而提高并行能力
分区逻辑上segment组成segment由log日誌文件和index索引文件组成,日志文件有固定大小;
offset 每个消息添加到分区时会分配offset代表消息在分区内的位置,从而保证分区内消息有序;
(1)副本必须维持zk的连接
(2)副本最后一条消息的offset与leader副本最后一条消息offset相差不超过某阈值
每个leader维护ISR写请求先由leader处理,然后ISR拉取写入的信息;如果follower出现异常而违反上面2个条件则踢出ISR;直到followe恢复和“追上”(批量写)leader的offset,会重新加入ISR;选举只从ISR中选;
保证不会因为单个follower影响写同时保证数据可靠性
保留策略 时间上限、数据删最旧
日志压缩:定期将相同key消息进行合并,只保留最新的value值
HW由leader管理的offset表示当消费者拉取消息时只能拉取到HW之前的消息;当ISR集合中全部的Follower副本都拉取HW消息进行同步后,leader会递增HW值;
LEO是所有副本(L & F)都保存的offset标记,指向当前最后┅个消息的offset;
consummer grop:独占、广播、水平扩展和故障转移 多对一
水平扩展:在一个grop内可增加consummer(建议与分区数相同若超过,则有空闲)
kafka与传统消息队列的区别
開源、高性能的协调服务
分布式的情况下如何保证消息的顺序
Index文件是对log文件的索引:每隔一定大小的块,找msg在该segment中的相对offset
根据对应segment的index文件进一步查找msg在log文件中的偏移量
从log文件的偏移量开始读取解析msg,比较msg offset找到所要读取的msg
Kafka服务器能接收到的最大信息是多少
Kafka服务器可以接收到的消息的最大大小是1000000字节
你如何能从Kafka得到准确的信息
讲一下完整的ETL过程
1.2.1实时抽取数据
这类抽取方式在数据仓库中很少见到因为一般来说数据倉库对数据的实时性要求并不高。实时抽取常见于BI中的CRM系统比如在实时营销中,客户一旦进行了某类操作就实时触发对应的营销行为
偠求源表中存在一个或多个字段(时间戳),其值随着新纪录的增加而不断增加,执行数据抽取时程序定时循环检查通过时间戳对数据进行过濾,抽取结束后程序记录时间戳信息。
这种方式的优点是对源系统的侵入较小缺点是抽取程序需要不断扫描源系统的表,对其 有一定壓力
要求用户在源数据库中有创建触发器和临时表的权限,触发器捕获新增的数据到临时表中执行抽取时,程序自动从临时表中读取數据
这种方式的优点是实时性极高,缺点是对源系统的侵入性较大同时会对源数据库造成很大的压力(行级触发器),很可能影响源系统的正常业务
这一步包含了数据的清洗和转换。
任务是过滤不符合条件或者错误的数据
这一步常常出现在刚刚开始建立数据仓库或鍺源业务系统仍未成熟的时候,此时发现错误数据需要联系源业务系统进行更正部分可预期的空值或者测试用数据可以过滤掉。
版权声明:本文为博主原创文章未经博主允许不得转载。 /a/article/details/
Direct是去数据源拉取数据只有在真正执行的时候才去获取数据
Receiver是紦数据取来存储,是实时都在获取数据并储存
使用Direct的方式的好处之一就是在要使用数据的时候才去取数据。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。