小编Raj*_*j V的帖子

选择序列化框架

我正在阅读有关使用 java 序列化的缺点以及使用序列化框架的必要性的文章。有很多框架,例如 avro、parquet、thrift、protobuff。

问题是哪个框架解决了什么问题以及选择序列化框架时需要考虑的所有参数是什么。

我想尝试一个实际用例,并根据需求比较/选择序列化框架。

有人可以就这个话题提供帮助吗?

serialization thrift protocol-buffers avro parquet

1
推荐指数
1
解决办法
1346
查看次数

Spring Kafka Consumer Configs - 默认值和至少一次语义

我正在使用 spring-kafka 模板编写 kafka 消费者。当我实例化消费者时,Spring kafka 接受如下参数。

props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
props.put(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, fetchMaxBytes);
props.put(ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, maxPartitionFetchBytes);
Run Code Online (Sandbox Code Playgroud)

我阅读了文档,看起来还有很多其他参数也可以作为消费者配置传递。有趣的是,每个参数都有一个默认值。我的问题是

  1. 这些是在什么基础上到达的?
  2. 是否真的需要改变这些值,如果是的话,这些值是什么
    (恕我直言,这是根据具体情况而定的。但仍然想听听专家的意见)
  3. 我们拥有的传递语义是至少一次。因此,对于这种(至少一次)传递语义,如果这些保持不变,它仍然会处理大量数据。

任何指示或答案都会对澄清我的疑问有很大帮助。

apache-kafka kafka-consumer-api spring-kafka

1
推荐指数
1
解决办法
3010
查看次数

Azure Java SDK - Azure 身份验证对象 - 到期和处理

我正在尝试列出给定订阅的存储帐户,并尝试拉取订阅的所有 blob 端点。

它的完成方式如下。

一种。使用 subscriptionId 与 Azure.Authenticated 对象创建缓存。这个基本上是为了复用,用于后续业务流程中的sdk api调用

湾 如果上述缓存中没有subscriptionid,则按如下方式创建Azure.Authenticated 对象,并将其放入缓存中

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
    subscription.getClientId(),
    subscription.getTenantId(),
    subscription.getKey(),
    subscription.getEnvironmentType().getEnvironment());

Azure.Authenticated = Azure.configure()
    .withLogLevel(LogLevel.NONE)
    .authenticate(credentials);
Run Code Online (Sandbox Code Playgroud)

C。使用订阅 ID 获取 Azure 对象

azure = authenticatedClient.withSubscription(subscription.getSubscriptionId());
Run Code Online (Sandbox Code Playgroud)

d. 使用 storageAccounts 列表 API 对给定订阅的所有存储帐户进行分页和列出。

try {
              PagedList<StorageAccount> strgAccList = azure.storageAccounts().list();
          boolean hasNextPage = null != strgAccList.currentPage();
          int pageCount = 0;
          if (hasNextPage) {
            while (hasNextPage) {
              ++pageCount;
              Page<StorageAccount> resourcePage = strgAccList.currentPage();
              Iterator<StorageAccount> it = resourcePage.items().iterator();
              while (it.hasNext()) {
                StorageAccount storageAccount = it.next();
                storageAccounts.put(storageAccount.name(), …
Run Code Online (Sandbox Code Playgroud)

java azure azure-java-sdk azure-storage-account azure-sdk

1
推荐指数
1
解决办法
65
查看次数