zidoshare / microservices-demo

A sample application with Go, Java, Javascript, Kafka and Postgres

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Microservices Demo

A demo application with Java, Go, Javascript, Kafka and PostgresQL.

Architecture

Architecture diagram

  • A front-end web app in Java which lets you vote between Tacos and Burritos
  • A Kafka queue which collects new votes
  • A Golang or worker which consumes votes from Kafka and stores them in PostgresQL
  • A PostgresQL database
  • A Node.js webapp which shows the results of the voting in real time

Run the demo application in Okteto

$ git clone https://github.com/okteto/microservices-demo
$ cd microservices-demo
$ okteto login
$ okteto deploy

Develop on the Result microservice

$ okteto up result

Develop on the Vote microservice

$ okteto up vote

Develop on the Worker microservice

$ okteto up worker
$ make start

Notes

The voting application only accepts one vote per client. It does not register votes if a vote has already been submitted from a client.

This isn't an example of a properly architected perfectly designed distributed app... it's just a simple example of the various types of pieces and languages you might see (queues, persistent data, etc), and how to deal with them in Okteto.

About

A sample application with Go, Java, Javascript, Kafka and Postgres

License:Apache License 2.0


Languages

Language:Java 24.8%Language:Smarty 19.3%Language:JavaScript 14.1%Language:CSS 13.4%Language:HTML 12.7%Language:Go 9.6%Language:Dockerfile 5.1%Language:Shell 0.6%Language:Makefile 0.4%