This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
1.9 KiB
title, description, image, createdAt, draft, categories, tags
| title | description | image | createdAt | draft | categories | tags | |||
|---|---|---|---|---|---|---|---|---|---|
| 9 Essential Components of a Production Microservice Application | Explore 9 key components for building robust microservice applications. | https://assets.bytebytego.com/diagrams/0020-9-essential-components-of-production-microservice-app.png | 2024-03-04 | false |
|
|
1. API Gateway
The gateway provides a unified entry point for client applications. It handles routing, filtering, and load balancing.
2. Service Registry
The service registry contains the details of all the services. The gateway discovers the service using the registry. For example, Consul, Eureka, Zookeeper, etc.
3. Service Layer
Each microservice serves a specific business function and can run on multiple instances. These services can be built using frameworks like Spring Boot, NestJS, etc.
4. Authorization Server
Used to secure the microservices and manage identity and access control. Tools like Keycloak, Azure AD, and Okta can help over here.
5. Data Storage
Databases like PostgreSQL and MySQL can store application data generated by the services.
6. Distributed Caching
Caching is a great approach for boosting the application performance. Options include caching solutions like Redis, Couchbase, Memcached, etc.
7. Async Microservices Communication
Use platforms such as Kafka and RabbitMQ to support async communication between microservices.
8. Metrics Visualization
Microservices can be configured to publish metrics to Prometheus and tools like Grafana can help visualize the metrics.
9. Log Aggregation and Visualization
Logs generated by the services are aggregated using Logstash, stored in Elasticsearch, and visualized with Kibana.
