Concepts Flashcards

Microservices concepts

1
Q

What is a microservices architecture?

A

It is an architectural style that structures the application as a collection of loosely coupled services. Every service implements a specific business capability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the main characteristics of microservices?

A

Single Responsibility Principle, decentralized data management, independently deployable, lightweight communication, and automated deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Name two common communication protocols used in microservices.

A

HTTP/REST and gRPC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the Single Responsibility Principle in microservices?

A

Each microservice is responsible for a single business capability and performs one function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the benefits of using a microservices architecture?

A

Scalability, flexibility, resilience, faster time-to-market, and improved maintainability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

List some challenges of microservices.

A

Management complexity
Security complexity,
Data consistency,
network latency,
deployment overhead,
and monitoring and debugging complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is service discovery in microservices?

A

A mechanism that enables services to find and communicate with each other dynamically, often using a registry like Consul or Eureka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is an API Gateway in Microservices?

A

A server that acts as an API front-end, receiving API requests, enforcing throttling and security policies, passing requests to the back-end service, and then passing the response back to the requester.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why is containerization important in microservices?

A

It allows each microservice to run in its own isolated environment, improving deployment consistency, scalability, and resource efficiency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What tools are commonly used for container orchestration in microservices?

A

Docker and Kubernetes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the Circuit Breaker Pattern in Microservices?

A

A design pattern used to detect failures and encapsulate the logic of preventing a failure from constantly recurring, allowing microservices to fail gracefully.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Domain-Driven Design (DDD) and what is its role in microservices?

A

DDD is a design approach focusing on modeling the business domain, which helps to define the boundaries and responsibilities of microservices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is continuous integration/continuous deployment (CI/CD) in microservices?

A

CI/CD is a practice where code changes are automatically tested and deployed to production, facilitating rapid and reliable delivery of microservices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How do microservices handle data management?

A

Microservices often use decentralized data management where each service manages its own database to ensure loose coupling and independent scalability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Give examples of companies using a microservices architecture.

A

Netflix, Amazon, and Uber.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are some popular monitoring tools for microservices?

A

Prometheus and Grafana.

17
Q

What is the role of messaging systems in microservices?

A

Messaging systems like Kafka and RabbitMQ facilitate communication and data exchange between microservices, enabling decoupling and asynchronous processing.

18
Q

Explain the concept of “independently deployable” in microservices.

A

Each microservice can be deployed, updated, and scaled independently without affecting other services, allowing for continuous delivery and deployment.

19
Q

What is decentralized data management?

A

Each microservice has its own database, which ensures services are loosely coupled and can evolve independently.

20
Q

Why is monitoring and logging critical in microservices?

A

To ensure visibility into the system’s performance, detect issues early, and provide traceability for debugging and analysis.