https://github.com/alextanhongpin/full-stack-microservice
Architecture design for microservice
https://github.com/alextanhongpin/full-stack-microservice
api-gateway architecture consul consul-template etcd linkerd microservice traefik
Last synced: about 1 month ago
JSON representation
Architecture design for microservice
- Host: GitHub
- URL: https://github.com/alextanhongpin/full-stack-microservice
- Owner: alextanhongpin
- License: mit
- Created: 2017-07-25T02:04:38.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-30T07:29:24.000Z (almost 7 years ago)
- Last Synced: 2024-11-16T05:32:31.405Z (about 1 year ago)
- Topics: api-gateway, architecture, consul, consul-template, etcd, linkerd, microservice, traefik
- Language: JavaScript
- Size: 64.8 MB
- Stars: 94
- Watchers: 11
- Forks: 30
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list-microservice - full-stack-microservice
README
# full-stack-microservice
The goal is to design a working microservice architecture with the following components:

## Infrastructure
- Terraform
## Load Balancer
- Nginx
- HAProxy
- Traefik
- Envoy
- Linkerd
- Fabio
## Scheduler
- Nomad
## Orchestration
- Docker Swarm
- Kubernetes
## API Gateway
- Kong
- Tyk
- express-gateway
- API Umbrella
## Service Mesh
- Linkerd
- Conduit
- Istio
## Search
- Elasticsearch
- Solr
- Bleeve
- DNA Search
## Cache
- Redis (also for rate-limiting, time-series analytics)
- Memcached
- Varnish
- Zipnish
## Time-Series Database
- TimescaleDB
- InfluxDB (cluster is only available in Enterprise version though)
## Tracing
- OpenTracing
- OpenZipkin
- Jaeger
## Auth
- OpenId Connect
- OAuth2
- Identity Server 4
## Secrets
- DockerSecrets
- Vault
## Transport
- Kafka
- Nats
- gRPC
- protobuff
- Thrift
- Avro
- RabbitMQ
- ZeroMQ
## Documentation
- Swagger
## API Standards
- JSON Schema
- JSON API
## Security
- letsencrypt
### Others
- Client/server-side service discovery (nodejs resilient, etcd, Linkerd, Consul)
- Consul/etcd setup
- Circuit breaker
- Docker-compose or nomad setup
- Dynamic ports and service registry
- 12-Factor app practices
- Heteregenous clients (nodejs, go, python)
- Transport protocol (kafka, nats, rabbitmq, rpc, grpc, protobuff)
- Caching (Redis/memcached)
- API Gateway (kong, API Umbrella, AWS API Gateway)
- OpenID connect
- Sharding/Clustering of storage
- Vault
- RASA NLU
- Opentracing with GRPC
- GRPC security with Go, nodejs, python
- GRPC with graphql adapter
- Finanz example
- Create architecture diagram for all the different setups