logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

2-以太坊虚拟机

以太坊虚拟机,简称EVM,是用来执行以太坊上的交易的。业务流程如下图:输入一笔交易,内部会转换成一个Message对象,传入EVM执行。如果是一笔普通转账交易,那么直接修改StateDB中对应的账户余额即可。如果是智能合约的创建或者调用,则通过EVM中的解释器加载和执行字节码,执行过程中可能会查询或者修改StateDB。

文章图片
#区块链
Apple Vision Pro 内容开发制作

全新的平台。熟悉框架和工具。准备好为Apple Vision Pro设计和构建一个全新的应用程序和游戏世界。

文章图片
#unity#vr#3dsmax +1
Kafka-服务端-日志存储

Kafka中存储的一般都是海量消息数据,为了避免日志文件太大,Log并不是直接对应于磁盘上的一个日志文件,而是对应磁盘上的一个目录,这个目录的命名规则是<topic_name>_≤partition_id>,Log与分区之间的关系是一一对应的,对应分区中的全部消息都存储在此目录下的日志文件中。在重建索引文件过程中,如果遇到了压缩消息需要进行解压,主要原因是因为索引项中保存的相对offset是第一条

文章图片
#kafka#数据库#分布式
Kafka-Sender分析

通过前面的分析我们知道,主线程通过KafkaProducer.send方法将消息放入RecordAccumulator中缓存,并没有实际的网络I/O操作。网络I/O操作是由Sender线程统一进行的。我们先来了解一下Sender线程发送消息的整个流程:首先,它根据RecordAccumulator的缓存情况,筛选出可以向哪些Node节点发送消息,即上一节介绍的RecordAccumulatorre

文章图片
#kafka#linq#分布式
Kafka-服务端-副本机制

Kafka从0.8版本开始引入副本(Replica)的机制,其目的是为了增加Kafka集群的高可用性。Kafka实现副本机制之后,每个分区可以有多个副本,并且会从其副本集合(Assigned Replica,AR)中选出一个副本作为Leader副本,所有的读写请求都由选举出的Leader副本处理。剩余的其他副本都作为Follower副本,Follower副本会从Leader副本处获取消息并更新到自

文章图片
#kafka#分布式
Kafka-消费者-KafkaConsumer分析-ConsumerNetworkClient

前面介绍过NetworkClient的实现,它依赖于KSelector、InFlightRequests、Metadata等组件,负责管理客户端与Kafka集群中各个Node节点之间的连接,通过KSelector法实现了发送请求的功能,并通过一系列handle*方法处理请求响应、超时请求以及断线重连。ConsumerNetworkClient在NetworkClient之上进行了封装,提供了更高级

文章图片
#kafka#分布式
Kafka-消费者-KafkaConsumer分析-SubscriptionState

我们在前面介绍Metadata的时候提到过,可以在其上添加Listener,当Metadata更新时会触发Metadata.Listener.onMetadataUpdate()方法,图中的②处就是在Metadata的Listener中通过subscribedPattern模式过滤Topic,并调用changeSubscription()方法修改subscription集合。Subscriptio

文章图片
#kafka#分布式
Kafka-服务端-PartitionStateMachine

为分区选择新的Leader副本和ISR集合,并将结果写入ZooKeeper。之后,向需要进行角色切换的副本发送LeaderAndIsrRequest,指导这些副本进行Leader/Follower的角色切换,并向所有可用的Broker发送UpdateMetadataRequest来更新其上的MetadataCache。首先将Leader副本和ISR集合的信息写入到ZooKeeper中,这里会将分区

文章图片
#kafka#debian#分布式
Kafka-消费者-KafkaConsumer分析-offset操作

commitOffsetsSync()方法与commitOffsetsAsync()方法的实现类似,也是调用sendOffsetCommitRequest()方法创建并缓存OffsetCommitRequest,使用OffsetCommitResponseHandler处理OffsetCommitResponse。在有些场景下,例如第一次消费某个Topic的分区,服务端的内部Offsets Top

文章图片
#kafka#分布式
Kafka-消费者-Consumer Group Rebalance设计

在同一个Consumer Group中,同一个Topic的不同分区会分配给不同的消费者进行消费,那么为消费者分配分区的操作是在Kafka服务端完成的吗?分区是如何进行分配呢?下面来分析Rebalance操作的原理。

文章图片
#kafka#分布式
    共 24 条
  • 1
  • 2
  • 3
  • 请选择