Spring核心编程思想 重新认识IOC/IOC容器概述

依赖查找 依赖查找可以分为按 名称、类型、注解查找三种(包括单个类型和集合类型) 根据Bean名称/类型查找 /** * 根据类型查找 */ private static void lookupByType(BeanFactory beanFactory) { User user = beanF...

阅读更多

学习笔记 spring核心编程思想

前言 接触和使用Spring Framework 已经很长时间了,其特性和原理都有深入了解。不过都是看一些零零散散的博客学习的,总感觉学习的不够完善和系统。今天特此开个新坑,跟着小马哥的课程好好系统的学习一下Spring核心编程思想(5.2.2.RELEASE),希望能够有所收获。 repo: https:/...

阅读更多

Kafka源码浅析

前言 本文阅读的Kafka源码版本为:kafka-3.0.0 生产者源码 生产者消息发送流程 在消息发送的过程中,涉及到了两个线程:main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程通过分区器将消息发送给 RecordAccu...

阅读更多

Kafka如何避免消息丢失

Kafka消息框架通过broke来连接生产者和消费者,但是如果中间的某一个环节出现了故障,就会产生消息丢失的问题。针对消息丢失,我们可以从生产端、broke和消费端三个维度来处理。 生产端 生产端的职责就是,确保生产的消息能到达MQ服务端,这里我们需要有一个响应来判断本次的操作是否成功。 // 该方法会通过...

阅读更多

Kafka学习笔记 消费者

Kafka 消费者 消费方式 pull(拉)模式: consumer采用从broker中主动拉取数据。Kafka采用这种方式。 pull模式不足之处是,如果Kafka没有数据,消费者可能会陷入循环中,一直返回空数据。 push(推)模式: Kafka没有采用这种方式,因为由broker...

阅读更多

Kafka学习笔记 Broker

Kafka Broker Zk 存储结构 Broker工作流程 Kafka 副本 1)副本基本信息 Kafka 副本作用:提高数据可靠性。 Kafka 默认副本 1 个,生产环境一般配置为 2 个,保证数据可靠性;太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率。 Kafk...

阅读更多

Kafka学习笔记 生产者

Kafka 生产者 生产者消息发送流程 发送原理 在消息发送的过程中,涉及到了两个线程:main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程通过分区器将消息发送给 RecordAccumulator, Sender 线程不断从 R...

阅读更多

Kafka学习笔记 快速入门

Kafka概述 Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 消息队列的两种模式 点对点模式 一对一,消费者主动拉取数据,消息收到后消息清除。消息生产者生产消息发送到 Queue 中,然后消息消费者从 Queue 中取出并且消费消息。消...

阅读更多