...
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 |
---|
title | The Kafka TA is configured by means of the following properties. (Click to expand/collapse) |
---|
|
Property name | Description | Required | Default value |
---|
Common properties | TransportLayer.KafkaTA.Description | Adapter name. | Y | Kafka Transport Adaptor | TransportLayer.KafkaTA.DllName | Contains path and name of the Kafka adapter DLL.
| Y | bin/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.ms | Delay after which the Kafka TA starts attempting to re-connect if the connection breaks. |
|
| TransportLayer.KafkaTA.reconnect.backoff.max.ms | Max 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: 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. | N | The 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 Kafka | N |
| TransportLayer.KafkaTA.<Session>.Producer.Topic | Topic 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
...