The below diagram shows the microservice tech stack, both for the development phase and for production.
Pre-Production- Define API - This establishes
a contract between frontend and backend. We can use Postman or OpenAPI for
this.
- Development -
- Node.js or react is popular for frontend development, and
- Java/python/go for backend development.
- Change the configurations in the API gateway according to API definitions.
- Continuous Integration - JUnit and Jenkins for automated testing.
- Deployment - The code is packaged into a
Docker image and deployed as microservices.
- NGinx is a common choice for
load balancers. Cloudflare provides CDN (Content Delivery Network).
- API Gateway - We can use Spring Boot for the gateway, and use Eureka/Zookeeper for service
discovery.
- Microservices on Cloud - The microservices are
deployed on clouds. We have options among AWS, Microsoft Azure, or Google
GCP.
- Cache and Full-text Search -
Redis is a common choice for caching key-value pairs. ElasticSearch is
used for full-text search.
- Communications - For services
to talk to each other, we can use messaging infra Kafka or RPC.
- Persistence - We can use
MySQL or PostgreSQL for a relational database, and Amazon S3 for object
store. We can also use Cassandra for the wide-column store if necessary.
- Management & Monitoring -
To manage so many microservices, the common Ops tools include Prometheus,
Elastic Stack, and Kubernetes.
Hope this helps.
Arun Manglick
No comments:
Post a Comment