Skip to content

A corporate Slack-like messenger built with the YugabyteDB database, Vaadin, Spring Boot, and Kong.

License

Notifications You must be signed in to change notification settings

YugabyteDB-Samples/geo-distributed-messenger

Repository files navigation

Geo-Distributed Messenger With YugabyteDB and Kong Gateway

This a sample geo-distributed messenger that runs on YugabyteDB database, Kong Gateway, Spring Boot, Vaadin, MinIO and several cloud services.

The messenger can be deployed as a single instance on your local laptop or function across the world in the public Google Cloud infrastructure.

architecture-geo-distributed

Use this project as a blueprint for designing and building geo-distributed apps with YugabyteDB from scratch.

Development Journal

The project's development journey was thoroughly documented on DZone so that the reader can understand design choices and tradeoffs. Follow the journey from start to finish by surfing through the following articles:

And feel free to reach out to the main developer and author of the project for feedback or questions.

Deployment Options

image9

The application can be deployed in several environments.

Deployment Type Description
Your Laptop or On-Prem Environment Deploy the entire app with all the components (Kong, YugabyteDB, Minio) on your local machine.
Heroku Deploy the application in Heroku.
Geo-Distributed Deployment in Google Kubernetes Engine Deploy a geo-distributed version of the app across multiple Kubernetes clusters in Google Cloud.
Geo-Distributed Deployment on Google Cloud Virtual Machines Deploy a geo-distributed version of the app across multiple regions using VMs of Google Cloud.

About

A corporate Slack-like messenger built with the YugabyteDB database, Vaadin, Spring Boot, and Kong.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published