Explore tens of thousands of sets crafted by our community.
Microservices Architecture
15
Flashcards
0/15
Microservices
Microservices are a style of software architecture that structures an application as a collection of loosely coupled services, which implement business capabilities. Benefits include independence in development, scalability, and flexibility.
API Gateway
An API Gateway is an entry point for clients to interact with microservices. It routes requests, handles protocols, and can aggregate the responses from multiple services. Benefits include simplified client interaction, centralized security, and request routing.
Service Discovery
Service Discovery is a method for services to find and communicate with each other in a microservices architecture. Benefits include dynamic service registration and location transparency, improving resilience and scalability.
Circuit Breaker Pattern
The Circuit Breaker pattern prevents a network or service failure from cascading to other parts of a system. Benefits include system resilience and stability by gracefully handling partial failures.
Continuous Integration/Continuous Deployment (CI/CD)
CI/CD is a method to frequently deliver apps to customers by introducing automation in the stages of app development. Benefits include improved deployment frequency, faster time to market, and reduced lead time for changes.
Containerization
Containerization involves encapsulating an application and its environment into a container that can run on any infrastructure. Benefits include portability, consistency across environments, and isolation of dependencies.
Domain-Driven Design (DDD)
DDD is an approach to software development that emphasizes modeling based on the business domain. Benefits include creating a shared language between developers and business experts and focusing on core business complexities.
Scalability
Scalability refers to the ability of a system to handle growing amounts of work by adding resources. Benefits include improved performance and availability, with the ability to accommodate growth in users and data.
Load Balancing
Load Balancing is the process of distributing network or application traffic across multiple servers. Benefits include optimized resource use, reduced response times, and improved fault tolerance.
Statelessness
Statelessness means the server does not retain any state about the client session on the server-side. The benefit includes scalability, as sessions can be handled by any instance of a service, promoting flexibility and easier management.
Decentralized Data Management
Decentralized data management refers to having separate databases for different services, which is characteristic of a microservices architecture. Benefits include no single point of failure, independence, and the ability to opt for different database systems as needed by each service.
Polyglot Programming
Polyglot programming is the practice of using different programming languages in the microservices architecture to best leverage their strengths. Benefits include using the right tool for the job, flexibility, and optimization of performance for particular tasks.
Resilience
Resilience is the capability of a system to handle failures and continue to function. In microservices architecture, resilience is key to ensuring that the failure of a single service does not bring down the entire system. Benefits include improved system uptime and better user experience.
Independent Deployment
Independent deployment allows each microservice to be deployed, upgraded, scaled, and restarted without affecting other services. Benefits include faster deployments, isolation of changes, and reduced risk of system-wide failures.
Monitoring and Logging
Monitoring and logging are critical in a microservices architecture for tracking the health and performance of services. Benefits include the ability to identify and troubleshoot failures quickly, gather metrics for performance tuning, and improve system reliability.
© Hypatia.Tech. 2024 All rights reserved.