Solace源连接器“ tasks.max”如何连接到队列?

时间:2019-04-04 19:29:21

标签: java apache-kafka apache-kafka-connect solace

我们正在实现一个3机集群的Kafka主题。我们将退出Solace队列,并想知道tasks.max参数的作用以及它如何划分消息。我们无权访问慰问队列,只能调用并查看是否将消息从缓冲区中删除。任何见解将是伟大的! hornetQ中的当前系统正在运行5个线程。

环境:

  • 分布式模式
  • 1个主题
  • 3个副本
  • 每台计算机5个分区

Solace-kafka-connector-source-master

我们已经通过一项任务独立尝试了它,并且可以正常工作。由于我们无法控制慰问队列,因此我们可以查看是否正在丢弃邮件。

{
    "name": "solaceSourceConnector",
    "config": {
        "connector.class":
"com.solace.source.connector.SolaceSourceConnector",
        "tasks.max": "1",
        "kafka.topic": "solacetest",
        "sol.host": "HOSTNAME",
        "sol.username": "USERNAME",
        "sol.password": "PASSWORD",
        "sol.vpn_name": "VPN IP",
        "sol.topics": "soltest, soltest1,solacetest2",
        "sol.queue": "testQ",
        "sol.message_processor_class": "com.solace.source.connector.msgProcessors.SolaceSampleKeyedMessageProcessor",
        "sol.generate_send_timestamps": "true",
        "sol.generate_rcv_timestamps": "true",
        "sol.sub_ack_window_size": "255",
        "sol.generate_sequence_numbers": "true",
        "sol.calculate_message_expiration": "true",
        "sol.subscriber_dto_override": "true",
        "sol.channel_properties.connect_retries": "-1",
        "sol.channel_properties.reconnect_retries": "-1",
        "sol.kafka_message_key": "DESTINATION",
        "sol.ssl_trust_store": "/opt/PKI/skeltonCA/heinz1.ts",
        "sol.ssl_trust_store_pasword": "sasquatch",
        "sol.ssl_trust_store_format": "JKS",
        "sol.ssl_key_store": "/opt/PKI/skeltonCA/heinz1.ks",
        "sol.ssl_key_store_password": "sasquatch",
        "sol.ssl_key_store_format": "JKS",
        "sol.ssl_key_store_normalized_format": "JKS",
        "sol.ssl_private_key_alias": "heinz1",
        "sol.ssl_private_key_password": "sasquatch"
    }

}

我正在努力做到这一点,所以我们不会在缓冲区中丢失消息。

1 个答案:

答案 0 :(得分:0)

max.tasks 1可以与互斥队列一起使用,因为这种Solace队列只能有一个活动订户。它还将确保将消息顺序从Solace保留到Kafka中。

如果Solace队列是非排他(即共享)队列,则增加最大任务数将定义从该队列消耗的并发Solace客户端数量的上限。这允许使用队列中的多个使用者进行水平扩展,以获得更好的吞吐量。但是,Solace不能保证跨非排他队列的多个使用者的消息顺序,因此可能不会保留消息顺序。

无论哪种情况,消息都不会丢失,因为它们不会被确认返回给Solace并在成功确认已被写入Kafka之后才被删除。