写cassandra除了轻量级事务,不支持别的事务.cassandra是追加写,写的速度非常快.cassandra还有hint日志,这个数据库总是可写的,而且单个列的写操作是原子的.hint并不是一定写在协调节点,一般是写在下线节点的某个非副本的邻居节点.写一致性ANY:写hint也算成功ONE:写hint和memtable才算成功. 协调节点会根据keyspace的副本数确定哪些是副本节点,如果副本节点不够满足一致性级别,直接报错.多DC时,客户端发请求到协调节点,协调节点同时会转发请求到所有…
Search -> Next Code 命令将光标移动到下一个包含指令的位置 Jump -> Jump to Function 命令可以打开所有函数,可以迅速选择一个函数并导航到该函数所在的位置 文本搜索 IDA 文本搜索相当于对反汇编列表窗口进行子字符串搜索 通过 Search -> Text 命令启动文本搜索,快捷键为 Alt+T IDA 允许搜索 POSIX 类型的正则表达式 Identifier(标识符)搜索有些用词不当 它将搜索限制于仅查找完整的词,并且能够匹配反汇编行中的任何…
KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组.一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息. 往群组里增加消费者是横向伸缩消费能力的主要方式. 我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者.不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置.  除了通过增加消费者来横向伸缩单个应用程序外,还经常出现多个应用程序从同一个主题读取数据的情况. Kafka 设计的主要目标之一 ,就是要让 Kafka 主…
应用程序使用 KafkaConsumer向 Kafka 订阅主题,并从订阅的主题上接收消息 . 从 Kafka 读取数据不同于从其他悄息系统读取数据,它涉及一些独特的概念和想法.如果不先理解 这些概念,就难以理解如何使用消费者 API.所以我们接下来先解释这些重要的概念,然 后再举几个例子,横示如何使用消费者 API 实现不同的应用程序. 消费者和消费者群组 假设我们有一个应用程序需要从-个 Kafka主题读取消息井验证这些消息,然后再把它们 保存起来.应用程序需要创建一个消费者对象,订阅主题并…
不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者们可以使用 Kafka 内置的客户端 API 开发 Kafka 应用程序. 我们将从 Kafra 生产者的设计和组件讲起,学习如何使用 Kafka 生产者.内容包括: 如何创建 KafkaProducer 和 ProducerRecords 对象.如何将记录发送给 Kafka: 如何处理从 Kafk…
不管是把 Kafka 作为消息队列.消息.总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个可以从 Kafka读取数据的消费者,或者一个兼具两种角 色的应用程序. 例如,在一个信用卡事务处理系统里,有一个客户端应用程序,它可能是一个在线商店, 每当有支付行为发生时,它负责把事务发送到 Kafka上.另一个应用程序根据规则引擎检 查这个事务,决定是批准还是拒绝. 批准或拒绝的响应消息被写回 Kafka,然后发送给发起事务的在线商店.第三个应用程序从 Kafka上…
前面章节中的例子,用来作为单个节点的服务器示例是足够的,但是如果想要把它应用到生产环境,就远远不够了.在Kafka中有很多参数可以控制它的运行和工作.大部分的选项都可以忽略直接使用默认值就好,遇到一些特殊的情况你可以再考虑使用它们. 本文翻译自<Kafka权威指南> Broker的一般配置 有很多参数在部署集群模式时需要引起重视,这些参数都是broker最基本的配置,很多参数都需要依据集群的broker情况而变化. broker.id 每个kafka的broker都需要有一个整型的唯一标识,这…
(1)Customer和Customer Group (1)两种常用的消息模型 队列模型(queuing)和发布-订阅模型(publish-subscribe). 队列的处理方式是一组消费者从服务器读取消息,一条消息只由其中的一个消费者来处理. 发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息. (2)Kafka的消费者和消费者组 Kafka为这两种模型提供了单一的消费者抽象模型: 消费者组 (consumer group). 消费者用一个消费者组名标记自己. 一个…
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运行需求,不过还是可以通过调整一些参数来进一步提升Kafka的性能.这些参数主要与虚拟内存,网络子系统和用来存储日志片段的磁盘挂在点有关.这些参数一般配置在“/etc/sysctl.conf” 文件里,不过在对内核参数进行调整时,最好参考官方提供的操作系统文档. 一.虚拟内存 一般来说,Linux的虚拟内存会根…
在上篇的例子里([Kafka]<Kafka权威指南>--写数据), ProducerRecord 对象包含了目标主题.键和值. Kafka 的消息是 一个个 键值对, ProducerRecord对象可以只包含目标主题和值,键可以设置为默认的 null,不过大多数应用程序会用到键.键有两个用途 :可以作为消息的附加信息,也可以用来决定消息该被写到主题的哪个分区.拥有相同键的悄息将被写到同一个分区. 也就是说,如果一个进程只从一个主题的分区读取数据(第 4章会介绍更多细节),那么具有相 同键的所…