-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the demo-quartz wiki!
The idea of this mini demo is to create an example of a micro service that periodically consumes the bitcoin quote of a third-party, event-driven, asynchronous, status-oriented api, using docker as a container, kafka as a message broker, h2 as a database in memory and cassandra or elastic search as a database to save the json with the current bitcoin quote data.
Actually i have to run zookeeper and kafka before running the process: aironman is the topic name. If you want to use another one else, modify message.topic.name within application.properties file, then run again mvn clean package.
WORK IN PROGRESS.
-
Consuming data from the rest api every time. DONE
-
Saving data to h2. DONE.
-
Consume data from kafka topic to save it to Cassandra. NOT YET.
-
Saving data to Kafka. DONE.
-
Moving data to a websocket channel. NOT YET.
-
Adding docker file. In progress.
-
Adding a RESTfull controller. NOT YET.
To build the project, be sure that Zookeeper and kafka 0.10.0.1 is installed with defaults.
mvn clean package zkServer start kafka-server-start /usr/local/etc/kafka/server.properties kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic aironman java -jar target/demo-quartz-0.0.1-SNAPSHOT.jar
There is an uploaded container in hub.docker.com/r/aironman/demo-quartz/tags/
To run it:
docker pull aironman/demo-quartz:0.0.1-SNAPSHOT docker run aironman/demo-quartz:0.0.1-SNAPSHOT
Actually you need to run locally Zookeeper and kafka in your local machine, i have to add a prebuilt container as a dependency.
HINT!
Be sure that your .m2/settings.xml looks like:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>docker.io</id>
<username>mydockerhub_username</username>
<password>mydockerhub_password</password>
</server>
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
LINKS
[dockerfile-maven-plugin](github.com/spotify/dockerfile-maven)