In this article i will implement a service which is responsible from processing the streaming data. At the end of the article, we will have a ecosystem like this

Architectural Design

As you see we need to start a Apache Kafka broker to store and process the data. We need docker run Kafka. Apache Kafka has dependency into Apache Zookeeper. Here the docker-compose file to run kafka broker.


Go to the destination of file and run the command.

docker-compose up -d

So there is a kafka broker that runs on port 9092. Now we can start to implement the Product Service

In this tiny article i will implement a custom dialog as a newbee develeper in Flutter and Dart. May be it will help some of you.

Sooo. Our dialog will be a singleton object that contains a indicator and text. As you know, to make an object singleton you need a private constructor and static methods to handle your needs. I do not going in details about thecode. Because most of it about styling.

In Dart language, “_” is used for private access modifier. Here is the LoadingScreen class.

Now let’s test the code in main.dart

Thank you for reading article :). You can access the source codes of article from the repository.


Let’s first run our essential applications by using Docker.

docker run  --name postgres-container --restart always -e POSTGRES_USER=authorization_server -e POSTGRES_DB=authorization_server -e POSTGRES_PASSWORD=authorization_server -p 5432:5432 -d postgres:10

docker run --name redis-token-store --restart always -p 6379:6379 -d redis:6

We will store our tokens in Redis. Redis is a in-memory data structure store. Being in-memory makes it fast while reading data. And we need to be fast.

Our server will support dynamic client registration. So our client details, users and their authorities will be stored in PostgreSQL. Now we can create our server with help of Spring Initializr

Distributed tracing is about debuging and monitoring the distributed software architectures. Especially, we need this method in Microservice projects. There are some important terms that we must know if we are working with Sleuth like Span, Trace Id etc. But i am not going to talk about that. Before starting the article you should read “offical introduction” from here:

This is our ecosystem after we finished the project

First, we will create our custom library. It will be a maven project. I will use Intellij IDEA to create a maven project but you can chose whatever you want to use.

Bu makalede Spring ailesini kullanarak ve çok ayrıntıya girmeden bir mikro servis projesi hazırlayacağız. Başlamadan önce mikro servis nedir neden bu kadar yaygınlaşmaya başlamıştır kısaca ondan bahsetmek istiyorum. Daha ayrıntılı bilgi için adresini ziyaret edebilirsiniz.

Mikro servis, bir yazılım geliştirme tekniğidir. Sadece belirli biri işten sorumlu, ölçeklenebilir, “loose-coupled” yapıya sahip servistir.


  • Modüler: Geliştirilmesi, anlaması ve test edilmesi kolay.
  • Ölçeklendirilebilir: Birbirlerinden bağımsız süreçler olarak çalıştıklarından dolayı ölçeklendirirken daha özgür olabiliriz.
  • Kolay dağıtılabilir: Küçük ve hızlı projeler oldukları için deploy edilmesi de daha kolay.

Şimdi projemize geçelim. Projemiz aşağıdakiler bileşenleri içermektedir. …

Caner Kaya

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store