This folder contains a variant of the Quick Start SSL app configured to use a shared test cluster from Axual Platform as the target cluster. You may follow the Getting started on the Axual site to perform the following operations:
- add a new topic
stocks
with:- string key type
- JSON value type
- delete retention policy
- 1 partition
- 1 day of retention time
- add a new application with:
- ID:
stocks-application
- Name:
stocks-application
- Short name:
stocks_app
- Application type: Java
- Visibility: Private
- ID:
- generate a new authentication credentials and take note of them
- authorize the application to consume and produce data from/to the
stocks
topic
The docker-compose.yml file has been revised to realize the integration with Aiven for Apache Kafka as follows:
-
removal of the
broker
service, because replaced by the remote cluster -
kafka-connector:
- definition of new environment variables to configure remote endpoint, credentials, topic name and consumer group in the
adapters.xml
through the variable-expansion feature of Lightstreamer:... environment: - bootstrap_server=${bootstrap_server} - username=${username} - password=${password} - group_id=${group_id} - topic_mapping=map.${topic}.to ...
- adaption of
adapters.xml
to include:-
new Kafka cluster address retrieved from the environment variable
bootstrap_server
:<param name="bootstrap.servers">$env.bootstrap_server</param>
-
the consumer group retrieved from the environment variable
group_id
<param name="group.id">$env.group_id</param>
-
encryption settings:
<param name="encryption.enable">true</param> <param name="encryption.protocol">TLSv1.3</param> <param name="encryption.hostname.verification.enable">false</param>
-
authentication settings, with the credentials retrieved from environment variables
username
andpassword
:<param name="authentication.enable">true</param> <param name="authentication.mechanism">SCRAM-SHA-256</param> <param name="authentication.username">$env.username</param> <param name="authentication.password">$env.password</param>
-
parameter
map.<topic>.to
built from env variabletopic_mapping
, composed from env variabletopic
<param name="$env.topic_mapping">item-template.stock</param>
-
- definition of new environment variables to configure remote endpoint, credentials, topic name and consumer group in the
-
producer:
- parameter
--boostrap-servers
retrieved from the environment variablebootstrap_server
- parameter
--topic
retrieved from the environment variabletopic
- provisioning of the
producer.properties
configuration file to enableSASL/SCRAM
over TLS, with username and password retrieved from the environment variablesusername
andpassword
:
# Configure SASL/SCRAM mechanism sasl.mechanism=SCRAM-SHA-512 # Enable SSL encryption security.protocol=SASL_SSL # JAAS configuration sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="${username}" password="${password}";
- parameter
From this directory, run follow the command:
$ bootstrap_server=<bootstrap_server> group_id=<group_id> username=<username> password=<password> topic=<topic> ./start.sh
where:
bootstrap_server
is the bootstrap server address of the Axual clustergroup_id
is the consumer group IDusername
andpassword
are the authentication credentialstopic
is the name of the topic
Tip
You can get the correct values for bootstrap_server, group_id, and topic by looking at the Cluster connectivity Information of the stocks-application
from the Axual Self-service portal.
Then, point your browser to http://localhost:8080/QuickStart.