在Apache Kafka 0.9和0.10的新功能调查期间,我们使用了KStreams和KTables.有一个有趣的事实是,Kafka在内部使用RocksDB.请参阅Kafka Streams简介:流处理变得简单.RocksDB不是用JVN兼容语言编写的,因此需要仔细处理部署,因为它需要额外的共享库(取决于操作系统).
这里有一些简单的问题:
我试图搜索答案,但我只看到隐含的原因,RocksDB在每秒大约数百万次操作范围内的操作非常快.
另一方面,我看到一些用Java编码的数据库,也许端到端他们可以做到这一点,而且他们不会通过JNI.
java-native-interface in-memory-database key-value-store rocksdb apache-kafka-streams
我正在尝试控制KStream消耗的消息数,但我不是很成功。
我正在使用:
max.poll.interval.ms=100
并且
max.poll.records=20
每秒收到200条消息。
但这似乎不是很好,因为我发现统计数据中每秒也有大约500条消息。
在流消费者方面我还要设置什么?
用例如下.我在Java代码中通过许多对象实例传递生产者或消费者引用.在其中一些我想对Kafka配置进行一些检查.这意味着我想回来,Kafka Producer/Consumer中存储了哪些有效的配置(包括默认值).我没有看到java docs中的anthing:
那么,如何找回 Kafka生产者和消费者配置呢?
我有以下字符串:String timeStamp = "2020-01-31 12:13:14 +03:00"。我尝试使用 Java 8 DateTimeFormatter 解析它。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( format );
tmpTimestamp = ZonedDateTime.parse( timeStamp, formatter );
Run Code Online (Sandbox Code Playgroud)
其中format之一是:
"yyyy-MM-dd' 'HH:mm:ss' 'Z",
"yyyy-MM-dd' 'HH:mm:ss' 'X",
"yyyy-MM-dd' 'HH:mm:ss' 'x",
"yyyy-MM-dd HH:mm:ss Z",
"yyyy-MM-dd HH:mm:ss X",
"yyyy-MM-dd HH:mm:ss x",
Run Code Online (Sandbox Code Playgroud)
没有一个在工作。我总是DateTimeParseException在偏移子字符串“+03:00”中指向“+”或“:”字符
根据 JavaDocs:类 DateTimeFormatter "+03:00" 应受以下任一支持:Z、X和x。
那么问题是如何构造格式化字符串来解析它呢?
如何检查在threadpool.index.queue_size和threadpool.bulk.queue_size中定义的ealastisearch队列的当前大小?
SO上已经有一些与Elasticsearch中的排队问题相关的主题/问题:ElasticSearch给出了有关队列大小的错误
这是关于如何设置队列大小。但是如何读取这些队列上的当前(实时)大小/负载,以避免在运行时使Elasticsearch过载,或者如何查看它们是否得到了最佳使用以及长度是否正确设置?
我试图在CAT API中找到答案,但是与这些队列没有任何明确的关联(也许我什么都没看到)。
我们想重置服务器安装。
我们已经有Ansible脚本来设置我们的服务器,因此我们想执行它。但是Ansible会检查,例如某些文件是否存在,然后跳过准备这些文件的步骤,但是我们要覆盖所有文件。
有什么方便的选择吗?
我在Kafka集群中有简单的观察(Kafka 0.11.0.0).
根据jmx信息,该__consumer_offsets主题不断加载的消息数是所有其他主题中所有消息总和的10倍.我还将控制台消费者连接到这个主题,我可以测量类似的值.
如何将java.time.Period转换为秒?
以下代码会产生意外结果
java.time.Period period = java.time.Period.parse( "P1M" );
final long days = period.get( ChronoUnit.DAYS ); // produces 0
final long seconds = period.get( ChronoUnit.SECONDS ); // throws exception
Run Code Online (Sandbox Code Playgroud)
我正在寻找Java 8相当于:
// import javax.xml.datatype.DatatypeFactory;
// import javax.xml.datatype.Duration;
DatatypeFactory datatypeFactory = DatatypeFactory.newInstance();
Duration d1 = datatypeFactory.newDuration( "P1M" );
final long sec = d1.getTimeInMillis( new Date() ) / 1000;
Run Code Online (Sandbox Code Playgroud) 如何配置 maven-enforcer-plugin 以排除测试范围中的某些规则?
我有这样的配置:
<executions>
<execution>
<id>enforce-bytecode-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>1.7</maxJdkVersion>
</enforceBytecodeVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)
但我只想检查常规代码的 JDK 版本,而不是测试范围。