上一页 1 2 3 4 5 6 7 ··· 67 下一页
摘要: 在面对一些线程安全问题时,需要加入一把锁来进行防范,而 synchronized 就是这方面的代表之一。可能你会有所疑惑,既然有了 synchronized 这把锁,为什么JDK中还会有 Lock 的定义呢?其实这个还和 synchronized 的历史背景有关。 在 JDK 早期版本中,synch 阅读全文
posted @ 2023-03-19 15:08 Dazzling! 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 通常在多线程执行的过程中,我们需要考虑一些线程安全的问题,而线程安全问题中最常用的解决策略之一就是 “锁”。 加锁的本质,就是为了解决在多线程场景中对于共享数据访问的安全问题,这类问题通常会被我们称之为线程安全问题。当我们提及到“锁”这个关键字的时候,就不得不了解下 synchronized 了。 阅读全文
posted @ 2023-03-18 23:24 Dazzling! 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 在多线程编程过程中,总会或多或少地接触到多线程这个概念。而 Java 的并发编程领域,想要使用线程技术,就不得不得接触到 java.lang.Thread 这个类。 很多程序员都使用过java.lang.Thread 这个类,但是大多数人可能只停留在了下边这种操作情况: Thread t = new 阅读全文
posted @ 2023-03-17 23:39 Dazzling! 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 经典的 i++ 问题 我们来看看下边这段 Java 代码: public class ThreadDemo { private static int i = 0; static class IncrTask implements Runnable { CountDownLatch start; Co 阅读全文
posted @ 2023-03-12 22:52 Dazzling! 阅读(61) 评论(0) 推荐(0) 编辑
摘要: Leader 选举 的原理,也就是大名鼎鼎的 Zab 协议的一部分。 Zab 只是一个协议,或者说只是一个概念,ZooKeeper 是这个协议的具体实现,并不是只有选举用到了 Zab 协议,而是其他地方也用到了。 一、什么是 Leader 选举? 在开始设计之前,我们肯定要先搞懂需求,产品一句话:实 阅读全文
posted @ 2023-03-10 22:25 Dazzling! 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 什么是分布式事务 我们平常使用事务的时候,基本流程是这样的: 使用BEGIN/START TRANSACTION来开启一个事务。 然后可以继续向服务器发送一些增删改查语句,这些语句都属于这个事务的一部分。 之后可以向服务器发送COMMIT语句来表明这个事务的所有语句都已经发送完了,服务器可以提交这个 阅读全文
posted @ 2023-03-09 09:37 Dazzling! 阅读(34) 评论(0) 推荐(0) 编辑
摘要: # 消费者客户端开发 在了解了消费者与消费组之间的概念之后,我们就可以着手进行消费者客户端的开发了。在 Kafka 的历史中,消费者客户端同生产者客户端一样也经历了两个大版本:第一个是于 Kafka 开源之初使用 Scala 语言编写的客户端,我们可以称之为旧消费者客户端(Old Consumer) 阅读全文
posted @ 2023-02-28 14:18 Dazzling! 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 消费者与消费组 与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息。不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法理解如何使用 KafkaConsumer。 消费者(Consumer)负责订阅 Ka 阅读全文
posted @ 2023-02-26 20:45 Dazzling! 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 除了可以承受更多的并发流量、存储海量数据外,分布式系统另外一个优点就是:利用数据备份来防止数据丢失。但也正是由于数据副本的存在,也引入了一些其他的问题,比如,如何选取主副本、复制数据时如何保证各个副本的数据一致性等。 为了解决分布式存储系统中数据复制的问题,微软提出了 PacificA 算法,而 E 阅读全文
posted @ 2023-02-25 21:16 Dazzling! 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 生产者拦截器 拦截器(Interceptor)是早在 Kafka 0.10.0.0 中就已经引入的一个功能,Kafka 一共有两种拦截器:生产者拦截器和消费者拦截器。 生产者拦截器既可以用来在消息发送前做一些准备工作,比如按照某个规则过滤不符合要求的消息、修改消息的内容等,也可以用来在发送回调逻辑前 阅读全文
posted @ 2023-02-25 12:12 Dazzling! 阅读(46) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 67 下一页