Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Internally, its implementation uses the Kafka Consumer API and Producer APIAPIs.

The Kafka TA establishes a connection to a Kafka single instance or a Kafka cluster.

...

The Kafka TA automatically reconnects to Kafka if a connection to the a message broker was unexpectedly terminated. Reconnection is regulated by the reconnect.backoff.ms and reconnect.backoff.max.ms parameters specified in the Configuration section below.

Concept

The main purpose for Kafka of the Kafka Transport Adapter is to work in conjunction with the FIXEdge server.


Configuration steps

...

Connection to the Kafka platform can be established when the Kafka TA is properly configured with the Kafka IP address.

Expand
titleThe Kafka TA is configured by means of the following properties

...

. (Click to expand.)

Property name

Description

RequiredDefault value
TransportLayer.KafkaTA.DescriptionAdapter name. YKafka Transport Adaptor
TransportLayer.KafkaTA.DllNameContains path and name of the Kafka adapter DLL. 

Ybin/KafkaTA-vc10-MD-x64.dll
TransportLayer.KafkaTA.Sessions

Comma-separated list of session names.

At least one session should be defined.

Y
TransportLayer.KafkaTA.reconnect.backoff.msDelay after which the Kafka TA starts attempting to re-connect if the connection breaks.

TransportLayer.KafkaTA.reconnect.backoff.max.msMax delay time after which the Kafka TA stops attempts to re-connect if the connection breaks.

TransportLayer.KafkaTA.<Session>.FIXVersion

Version of the FIX protocol.  Acceptable values: 

FIX40, FIX41, FIX42, FIX43, FIX44, FIX50, FIX50SP1, FIX50SP2.


FIX44
TransportLayer.KafkaTA.<Session>.Serializer

Serializer name.  Acceptable values:

  • Raw
  • XmlWrapper
  • JSON

Serializer task can be set from an external plugin.

Format: 

TestSerializer:KafkaSerializer,

where: 

  • TestSerializer is a serializer Class ID inside the plugin
  • KafkaSerializer is a Plugin ID

ID values are set by the Plugin developer.


Raw

TransportLayer.KafkaTA.<Session>.bootstrap.servers

Initial list of brokers.

Y
TransportLayer.KafkaTA.<Session>.security.protocol

Protocol used to communicate with brokers. 

The TLS secured connection is set by the 'TLS' value.


plaintext

TransportLayer.KafkaTA.<Session>.ssl.ca.location

File or directory path to CA certificate(s) for verifying the broker's key.

Example: D:/SSL/root.pem

The parameter is required, if the security protocol is SSL.



TransportLayer.KafkaTA.<Session>.ConnectTime

Scheduled time to connect Kafka. Accepts cron expressions. 

Is defined per session.



TransportLayer.KafkaTA.<Session>.DisconnectTime

Scheduled time to disconnect Kafka. Accepts cron expressions.

Is defined per session.



TransportLayer.KafkaTA.<Session>.Consumer.Commit

Commit mode. Acceptable values:

  • Auto   - automatically, on time interval expiration
  • Async  - asynchronously, after each received message
  • Sync   - synchronously, after each received message

Auto
TransportLayer.KafkaTA.<Session>.Consumer.group.id

A unique string that identifies the consumer group the given Consumer belongs to. This property is required if the Consumer uses either the group management functionality by using subscribe (Topic) or the Kafka-based offset management strategy.

NThe default value is equal to the <Session> ID.
TransportLayer.KafkaTA.<Session>.Consumer.Topics

Topics which are listened by the Consumer

Example: outputTopic



TransportLayer.KafkaTA.<Session>.Producer.KeyTag

Tag number in the FIX message. Will be used as a key when the message is sent to KafkaN
TransportLayer.KafkaTA.<Session>.Producer.TopicTopic that the Producer sends FIX messages to.

Configuration sample

Kafka TA configuration sample (with minimal set of parameters to run the adaptor):

...