- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 [Pulsar 源码] Pulsar client 原理解析
Pulsar client原理解析文章目录1. Client 与 broker 交互流程2. PulsarClient 初始化过程初始化 PulsarClientImpl初始化EventLoopGroup初始化ConnectionPool3. Publish工作原理Producer配置Batch 配置Routing 配置Pending配置Chunk 配置Producer Mode 配置Producer 与 Broker 交互创建ProducerImpl/PartitionedProducerImpl获取元
2021-03-31 10:35:41
2672
原创 BookKeeper源码解析之磁盘使用监控(三)
磁盘管理磁盘管理是管理ledger目录以及index目录的磁盘使用情况。BookKeeper 中有一个周期性任务来执行目录检测,这个任务在LedgerDirsMonitor中,这里会通过 LedgerDirsManager 检测ledger/index磁盘的使用情况,对于每个 LedgerDirsManager都会执行下面的检测逻辑: public LedgerDirsMonitor(fina...
2020-02-16 21:29:00
818
原创 BookKeeper源码解析之网络服务(二)
BookKeeper的网络服务基于Netty实现,其主要的内容就是构造NettyServer。构造NettyServer构造NettyServer之前,初始化eventLoopGroup和监听端口,然后就是Netty的标准ServerBootstrap的配置流程。private void listenOn(InetSocketAddress address, BookieSocketAddr...
2020-02-16 21:25:44
617
原创 BookKeeper源码解析之Bookie启动流程(一)
BookKeeper(BK)启动流程BK的启动入口类是Main,Main有一个静态代码块,在执行main方法之前,会限执行静态代码块的内容:static final Options BK_OPTS = new Options();static { BK_OPTS.addOption("c", "conf", true, "Configuration for Bookie Se...
2020-02-16 21:10:09
1837
原创 BookKeeper浅析
序言,关于capCAP是分布式系统中的一个特别重要的理论。CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。CAP是NOSQL数据库的基石。分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:一致性(C):在分布式系统中的所...
2020-01-22 11:12:24
3491
1
原创 Pulsar命令行工具
stanalone 启动bin/pulsar standalone : 当前terminal运行,terminal关闭,服务关闭pulsar-daemon start/stop standalone : 后台运行的standalone服务模式client生产bin/pulsar-client produce my-topic --messages "hello-pulsar"...
2019-12-18 17:03:49
7995
翻译 Pulsar 简介
Pulsar概述Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。由Yahoo开发,现在由apache基金会管理。Pulsar的关键特性如下:Pulsar实例原生支持多集群,能够无缝的基于地理位置 进行跨集群的备份.非常低的消息发布和端到端的延迟.无缝的扩展到超过一百万个topic.一套简单的客户端API ,支持 Java, Python, 和 C++.Topic支持...
2019-12-18 17:00:35
726
原创 [Pulsar-源码] Pulsar client初始化
Pulsar client初始化过程初始化Pulsar Producer和Consumer都需要先初始化Pulsar client。示例:PulsarClient client = PulsarClient.builder() .serviceUrl("pulsar://127.0.0.1:6650") .build();PulsarClient.bui...
2019-12-18 12:43:41
1146
原创 Hive安装
Hive 安装# 准备解压安装Apache-hive压缩包,并设置环境变量export HIVE_HOME=/home/tdwadmin/apps/apache-hive-2.3.5-binexport PATH=$PATH:$HIVE_HOME/bin配置hive-env.shexport HIVE_CONF_DIR=${HIVE_HOME}/confhive-site.sh...
2019-10-21 11:34:21
116
原创 Spark-IDEA源码阅读环境搭建(Windows)
一、源码下载和IDE安装下载Spark源码和 Intellij IDEA并安装二、jdk和scala安装1. jdk下载jdk并安装完成后,环境变量配置省略,可以参考 http://blog.youkuaiyun.com/hylisncsb/article/details/477223992. scalawindows下,直接下载scala的安装包安装即可三、Maven安装直接下载Maven的压缩包,解压即可
2015-10-20 20:30:40
595
原创 时间/空间复杂度浅析
渐进分析可以通过精确的计算其执行的语句或者引用的对象的数量来估计数据结构的性能或者复杂度。但是现代计算机体系结构的执行速度会相差10倍甚至更多,因此详细的计算不能为我们提供更多关于一个特定实现的实际运行时间的信息,因此对于行为进行如此详细的分析一般是没有必要的。数据结构和算法之间的区别,往往可以通过观察在解决许多问题是所表现出来的性能模式来确定。时间和空间复杂度设计数据结构和算法时,关心的是当问题的
2015-09-11 17:34:17
544
原创 树
概述树可以有两种定义方式,递归和非递归。非递归定义树有结点集合和连接每对结点的有向边结合 组成。树的递归定义要么树为空,要么由根和零个或者多个非空子树组成,每棵树的根都被来自于根的边连接。树的性质一个特殊的结点作为根,根节点没有父节点,没有子节点的是叶子结点。除了根之外,每个结点都被来自另一结点的边直接连接,被指向的是孩子,另一端是父亲。从根节点带每个结点的遍历路径只有一条,遍历所需走过的边数即为路
2015-08-17 16:57:15
380
原创 jdk安装
下载jdk安装安装jdk是选择默认选项即可; 安装完毕后,在c:\program\java目录下,会有jdk和jre对应的文件夹,jdk文件夹下也有jre的目录,这个jre和java目录下的jre内容是一致的,在后续配置环境变量时,只需要添加一个即可,方便起见选择jkd目录下的jre。环境变量配置配置javahome:新建系统环境变量:JAVA_HOME,其内容可以为c:\program\java
2015-08-17 11:08:01
415
转载 Netty(3.x) 小节
起源Netty和Mima是java中的两个通讯框架,Mina早于Netty诞生,始于Apache基金会,Netty开始在Jboss名下,后来出来自立门户netty.io。
2015-08-12 15:31:47
340
转载 Java NIO 简单总结
Java NIOJava NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者
2015-07-17 17:48:35
502
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人