https://github.com/chandresh-pancholi/edith
A Scalable & Reliable messaging service for microservices using Message brokers
https://github.com/chandresh-pancholi/edith
event-hub golang grpc kafka kinesis microservices nats-streaming protobuf pub-sub rabbit-mq
Last synced: 6 months ago
JSON representation
A Scalable & Reliable messaging service for microservices using Message brokers
- Host: GitHub
- URL: https://github.com/chandresh-pancholi/edith
- Owner: chandresh-pancholi
- Created: 2019-08-08T13:41:31.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-21T14:36:58.000Z (almost 7 years ago)
- Last Synced: 2024-11-16T03:35:49.812Z (over 1 year ago)
- Topics: event-hub, golang, grpc, kafka, kinesis, microservices, nats-streaming, protobuf, pub-sub, rabbit-mq
- Language: Go
- Homepage:
- Size: 114 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Edith
Reliable messaging among multiple microservices using message brokers like Kafka, RabbitMQ, NATS Streaming, Kinesis, Google pub sub, Azure event hubs. Currently edith supports Kafka. Future releases will support mentioned message brokers.
Modern day architecture build upon Microservice Architecture to build & ship product very fast.
Microservice Architecture helps in achieving loose coupling and high cohesion. and to make system loosely coupled, team are heaviliy using async publisher subscriber technlogies like Kafka, RabbitMq, NATS streaming, AWS Kinesis and many more.
Edith currently supports Apache Kafka for Async reliable communication among microservices.
### Technology Stack
##### Core Development
1. Golang
2. gRPC
3. Protobuf
4. Apache Kafka
5. Elasticsearch
##### Monitoring and Alerting
1. Open Census
2. Jaeger
3. Prometheus
##### Container Orchestrator stack
1. Docker
2. Kubernetes
3. Istio
#### Regular Microservice Architecture

#### Microservice Architecture with Edith

#### Road map
##### MVP - V1
* gRPC client support in language Java, Go
* gRPC server support
* TLS encryption support between grpc client -- server
* consumer disable notification
* end to end monitoring on Prometheus
* Kubernetes deployment
* daily roll over index on ES
* Archival support of older ES data