channel内部实现
源码:https://cs.opensource.google/go/go/+/refs/tags/go1.23.2:src/runtime/chan.go channel内部结构 type hchan struct { qcount uint // total data in the queue dataqsiz uint // size...
源码:https://cs.opensource.google/go/go/+/refs/tags/go1.23.2:src/runtime/chan.go channel内部结构 type hchan struct { qcount uint // total data in the queue dataqsiz uint // size...
该包用于给slice或者用户自定义的集合进行排序 排序底层算法 go的底层排序算法使用的是pattern-defeat quicksort(pdqSort)算法,PDQSort(Pattern-defeating quicksort)是一种现代的排序算法,它结合了快速排序(Quicksort)、插入排序(Insertion Sort)和堆排序(Heapsort)的优点,并通过模式识别和优...
代理(Proxy) 代理服务器是一个中间服务器,它位于客户端和目标服务器之间,代表客户端向目标服务器发送请求,并将目标服务器的响应返回给客户端。代理服务器的主要功能包括: 隐私保护:代理服务器可以隐藏客户端的真实 IP 地址,从而保护用户隐私。 访问控制:代理服务器可以限制用户访问某些网站或资源。 缓存:代理服务器可以缓存常用资源,从而加快访问速度并减少带宽消耗。 内容...
docker常用命令 docker images # 显示所有容器镜像 docker ps -all # 列出所有的docker容器(所有状态) docker pull # 拉取镜像 docker start|stop # 启动或者停止镜像 docker rm docker_name # 删除容器 docker rmi image_name # 删除镜像 docker logs -f do...
curl命令 curl 是一个用于在命令行中进行数据传输的工具,支持多种协议(如 HTTP、HTTPS、FTP 等)。它广泛用于测试和调试网络连接、下载文件、与 API 交互等。以下是一些常见的 curl 命令示例和用法: curl https://example.com # get方式请求数据 curl -X post --data 'param=value' https://exam...
深入Kafka 控制器 控制器其实就是一个 broker,只不过它除了具有一般 broker 的功能之外,还负责分区首领的选举。集群里第一个启动的 broker 通过在Zookeeper 里创建一个临时节点 /controller 让自己成为控制器。其他 broker 在启动时也会尝试创建这个节点,不过它们会收到一个“节点已存在”的异常,然后“意识”到控制器节点已存在,也就是说集群里已经...
应用程序使用 KafkaConsumer 向 Kafka 订阅主题,并从订阅的主题上接收消息。 Kafka消费者 通过横向伸缩提升消费者的消费能力 Kafka 消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。往群组里增加消费者是横向伸缩消费能力的主要方式。Kafka 消费者经常会做一些高延迟的操作,比如把数据写到数据库或 HDFS,或者...
kafka第三方客户端 第三方客户端通过直接向Kafka网络端口发送适当的字节序列以实现从Kafka读取消息或者写入消息。 构建kafka生产者 确定包含的目标topic和发送内容 指定键或分区(可选) 指定key和value的序列化器 发送消息 生产者的属性 必选属性 ...
安装kafka 安装依赖 安装java依赖 wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u412-b08/openlogic-openjdk-8u412-b08-linux-x64.tar.gz # 安装jdk8 安装zookeeper依赖 ...
基本概念 消息和批次 kafka的消息由字节组成,消息里面的数据没有特别的格式或者含义。 效益可以有一个可选的元数据——key(键),用于为消息选择分区。 kafka消息是分批次写入的kafka,这些消息属于用一个主题或者分区。 主题和分区 kafka消息通过主题进行分类,一个主题可以分为多个分区,同一个主题的不同分区可以分布在不同的服务器上。消息以FIFO的方...