kafka-producer

构造函数 private KafkaProducer(ProducerConfig config, Serializer<K> keySerializer, Serializer<V> valueSerializer) { try { //省略一段 this.metrics = new Metrics(metricConfig, reporters, time); // 构造各个组件 this.partitioner = config.getConfiguredInstance(ProducerConfig.PARTITIONER_CLASS_CONFIG, Partitioner.class); long retryBackoffMs = config.getLong(ProducerConfig.RETRY_BACKOFF_MS_CONFIG); this.metadata = new Metadata(retryBackoffMs, config.getLong(ProducerConfig.METADATA_MAX_AGE_CONFIG)); this.maxRequestSize = config.getInt(ProducerConfig.MAX_REQUEST_SIZE_CONFIG); this.totalMemorySize = config.getLong(ProducerConfig.BUFFER_MEMORY_CONFIG); this.compressionType = CompressionType.forName(config.getString(ProducerConfig.COMPRESSION_TYPE_CONFIG)); this.accumulator = new RecordAccumulator(config.getInt(ProducerConfig.BATCH_SIZE_CONFIG), this.totalMemorySize, this.compressionType, config.getLong(ProducerConfig.LINGER_MS_CONFIG), retryBackoffMs, metrics, time); List<InetSocketAddress> addresses = ClientUtils.parseAndValidateAddresses(config.getList(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG)); this.metadata.update(Cluster.bootstrap(addresses),

cassandra使用

常用命令 查看压缩转态: bin/nodetool compactionstats bin/nodetool disableautocompaction 可以禁用 compact,bin/nodetool enableautocompaction 启用 参数配置 使用时候注意参数设置 alter table titan_20190104.edgestore with compaction = {‘class’: ‘org.apache.cassandra.db.compaction.LeveledCompactionStrategy’, ‘sstable_size_in_mb’: 512}; alter table titan_20190104.edgestore with

分布式存储-replication

一、Replication Replication 就是将你的数据放在多个节点,这样有很多好处。数据从地理上可以隔用户更近,保持高可用,增加吞吐量。 本章我们假设数据

常见错误及经验

File file:/opt/hdfsi/yarn/nm/usercache/b_kg_fin_user/appcache/application_1543365716015_968403 does not exist 定位问题为节点问题,权限问题等。 hbase 一个预分区 10GB 数据比较合理。 maven 项目有hbase 的时候,JUnit 测试可能失败 cassandra 导数据 nodetool disableautocompaction ,然后 enableautocompaction

headfirst 设计模式

设计模式很抽象,其实以前我也尝试学过,只不过只学了一些表面,没有吃透,所以再学一下。能把抽象讲具体的人,都很厉害。 这个网址有资料: https://refactoring.guru/design-patterns 策略模式

重构笔记10-大型重构

前面的步骤写着写着就觉得很无趣,只见树木不见森林,但是至少要大概知道有这种方法,合适需要使用这种方法,然后可以来查阅怎么使用,用多了自然会了

UML类图画法

UML类图思考 建模是很复杂的,UML 类图是很好的工具,必须首先掌握。 首先我们自己思考一下,如果自己设计UML语言,应该如何设计。类与类之间的

tinkerpop源码解析2-查询流程debug

一、关键类 api地址: http://tinkerpop.apache.org/javadocs/current/full/ GraphTraversalSource 构造方法: GraphTraversalSource(Graph graph) GraphTraversalSource(Graph graph, TraversalStrategies traversalStrategies) graph.traversal() 方法返回一个 GraphTraversalSource ,我们挺好奇怎么转化为计算逻辑的,可能类似spark一样,记录操作,然后计算

重构笔记1-简单实例重构

重构,第一个案例 第一个案例,太简单也不好,太复杂也不好。 1.1 起点 “影片出租店用的程序”,计算程序租了哪些影片,租期多长,可以计算费用积分。影片