fbpx
What is Shared Database Design pattern?

What is Shared Database Design pattern?

What is Shared Database

Design Pattern

 

Today we will see what is Shared Database Design Pattern is.

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also, we saw Asynchronous Messaging Design pattern.


What is Shared Database Design Pattern?

For every web service application, there is a massive amount of data present. So when the application is broken down from monolithic to microservice, It is necessary that each application have a sufficient amount of data to process the request.

So, we can have a database for each service or it can have a shared database.

Yes, we can use a database per service or shared database to solve many problems.

Below are a few of the problems,

  • Data duplication and inconsistency
  • Different application has different storage requirements and different infrastructure.
  • Few transactions can query the data with multiple services.
  • De-normalization of data

In order to solve the first 3 problems, we can go for database per service, as it will be accessed by the microservice API itself.

So each web service will have its own databased ID, which the other services do not have direct access to.

ūüďĆ Note: Limit the number of databases to 2-3 for the microservices; else, scaling up will be a problem.

What is Shared Database Design Pattern?

Shared Database Design Pattern: Example

Example:

Example1: Partially having a shared database for the microservices.

In the above image, If you see the Contact & Student services shares a database but whereas Fees has its database. (While designing the MSA for the application we can decide about how our application can utilize the database).

Example 2: Partially having a shared database for the microservices.

In the next example, if you see the image, the entire microservices uses the one common shared database. this way the database is one and multiple services use it to persist or read data.

In the next article, we will see Asynchronous Messaging design pattern.

 

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 14, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

What is Chained or Chain of Responsibility Design Pattern

What is Chained or Chain of Responsibility Design Pattern

What is Chained or Chain of Responsibility Design Pattern

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also, we saw an API Gateway design pattern.

Today we will see what is Chained or Chain of Responsibility Design Pattern is.

What is Chained or Chain of Responsibility Design Pattern?

The chained or Chain of responsibility pattern produces a single response which is a combination of multiple chained responses.

Example:

Consider we have Contact, Student & Fees three microservices, each web service communicates with the following or next service as in waterfall.

Yes, Contact service calls Student service and Student service calls Fees service. Response of Fees and Student will be returned back to Contact service.

What is Chained or Chain of Responsibility Design Pattern

Chained Or Chain Of Responsibility Design Pattern in Microservice

Here the Client must wait till the response comes back after the consolidated response is available, meaning the Client will be waiting for the chain of response to be returned back as a response.

Use this service where the client is not expecting any response. (Something like calling a batch job, synchronous tasks or orchestrated flow of actions.

All these services use the HTTP request or response for communicating,

Note: Each service request and response looks different from the chained flow.

 

In the next article, we will see Asynchronous Messaging design pattern.

 

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 07, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

What is API Gateway Design Pattern?

What is API Gateway Design Pattern?

What is API Gateway Design Pattern?

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also we saw an Aggregator design pattern.

Today we will see what is API Gateway Design Pattern is.

What is API Gateway Design Pattern?

Microservice is built in such a way that each service acts differently on its own. So, when a web application is drilled down into smaller pieces there could be problems we face.

The problems are as follows.

  1. How to get data from various microservices?
  2. A different front-end application is required to manage the same database, just that it uses multiple web services.
  3. How to respond with the data for different consumer to satisfy their requirement. So that we can have reusable microservices.
  4. Handle multiple protocol requests.

Seems the list is small here, but in reality, it is even wider. The solution for these problems is to use the API Gateway design pattern. The API Gateway design pattern addresses many other problems apart from the ones mentioned above. We can also use this design pattern as a proxy service for routing the request.

 API Gateway acts as the entry point for all the endpoints of the microservice, it can help in converting the various protocol request from one type to another. Also, it can disburden the responsibility of authentication/authorization in the microservice.

¬†So, once the client sends the request, requests are passed through the API gateway which manages the entry point and re-routes the client’s request to the appropriate microservice. Then with the help of the load balancer, it distributes the client’s request to the microservice.

Microservice uses the service discovery which maintains the available microservices and their available entry points to communicate with each other

What is API Gateway Design pattern?

API Gateway Design pattern

 

 

In the next article, we will see Chained or Chain of Responsibility design pattern.

 

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 06, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

Know Aggregator Microservice Design Pattern

Know Aggregator Microservice Design Pattern

Aggregator Microservice Design Pattern

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns.

Know about Microservice Aggregator Design Pattern.

Know Aggregator Microservice Design Pattern

The Aggregator is something that collects related items or data and displays them (combining and merging of data).

In MSA aggregator is a basic web service that internally invokes various services to get the required information that needs to be aggregated and send back to the requestor.

This pattern helps when you have the requirement of collecting data from various different services and merging the collected information.

aggregator microservice

Example:

We have two different services namely Student and Address which has their own database, and we need to gather the data from both the service/database.

Which uses a Unique ID as a reference in both databases, thus allowing us to fetch the data from both databases via the web service endpoint and combine or aggregate them with help of the new service Student’s Address which is the aggregator service.

 

 

In the next article, we will see in API Gateway design pattern.

 

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 05, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

Micro service and Design Patterns

Micro service and Design Patterns

Things about Micro service and Design Patterns 

In this article, we will see Micro service and Design Patterns.

Micro service and Design Patterns

Micro service aka MSA has become the go-solution for most of the Enterprise to build or migrate the applications. They are known to solve various snags.

In order to build effective Microservice. We need to weld on to the design patterns, which helps us to improve the performance of the application.

Let us see the below topics as part of this article:

  1. What are  Microservices?
  2. Ethics followed while Designing Microservice Architecture
  3. Microservice Design Pattern

What are Microservices?

Microservices, aka MSA aka microservice architecture, is an style that structures an application as small collection of autonomous services which is surrounded around Business domain or models.

Ethics followed while Designing Microservice Architecture

  1. Independent & Autonomous services
  2. Scalability
  3. Decentralization
  4. Robust Services
  5. Real-Time Load balancing
  6. Availability
  7. Continuous delivery through DevOps integration
  8. Seamless API integration and continuous monitoring
  9. Isolation from Failures
  10. Auto-provisioning

In the next article we will see in detail about all the design patterns one by one.

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 04, 2021

Developer | Java, C#.NET & Python 

Planning to learn ReactJS or Angular or Flutter.!

Pin It on Pinterest