Page tree

Versions Compared

Key

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

...

The Kafka TA differentiates from other Transport Adapters in providing scheduling, custom serialization and /deserialization , and durable message storage.

The scheme schema below represents an interaction between FIXEdge and Customer via the Kafka solution.

...

Expand
titleThe Kafka TA is configured by means of the following properties. (Click to expand/collapse)

Property name

Description

RequiredDefault value

Common properties

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.



Consumer properties

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



Producer properties

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.

...

In case of the custom serialization, the custom plugin produces the key which is passed to the Kafka platform along with the message sent to the particular Kafka topic.

Custom partitioning

If the custom partitioner partitioning is configured,  the specified key and/or topic should be passed to the FIXEdge Business Layer via the configured tag the custom plugin produces the partition ID based on tag values of a FIX message.


Message Content Wrapping

...