揭秘!关于Redis主从节点数据过期一致性的思考,进阶学习资料!

前言我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件。为何这么说?你会发现我们可以通过控制台、 Java 代码、 C++ 代码、甚至是 Socket 向 Broker 写入消息,只要我们遵从了 Kafka 写入消息的协议,就可以将消息发送到 Kafka 队列中。用专业一点的话术来说,Kafka 定义了一个应用层的网络协议,只要我们基于传输层构造出符合这个协议的数据,就是合法的 Kafka 消息。所以说我们写入 Kafka 消息的只是一个生产者的客户端,他的形式多种
摘要由CSDN通过智能技术生成

前言

我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件。为何这么说?你会发现我们可以通过控制台、 Java 代码、 C++ 代码、甚至是 Socket 向 Broker 写入消息,只要我们遵从了 Kafka 写入消息的协议,就可以将消息发送到 Kafka 队列中。

用专业一点的话术来说,Kafka 定义了一个应用层的网络协议,只要我们基于传输层构造出符合这个协议的数据,就是合法的 Kafka 消息。

image

所以说我们写入 Kafka 消息的只是一个生产者的客户端,他的形式多种多样,有 Java ,Python,C++ 等多种实现,那么我们每次发消息难道还需要自己去实现这套发送消息的协议么?显然 Kafka 官方已经考虑到这个问题了,为了给我们提供 开箱即用 的消息队列,官方已经帮我们写好了各种语言的优质生产者实现,例如我们今天要讨论的 Java 版本的实现。

Java就是个多线程的世界

1. 类的线程安全

我们经常说类是线程安全的,类是线程不安全的。那么什么样的类才是线程安全的?

1.1 定义

多线程环境下,不管不同的线程如何使用和调度这个类,这个类总是表现出正确的行为。那么这个类就是线程安全的。
类的线程安全有两个关键点:
1.操作的原子性
2.内存的可见性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值