Skip to main content

Microservices: Concepts

 The microservice architecture is one of the most recent approaches to developing enterprise software applications. The concept of this style of software architecture has been discussed since 2011, and it has been establishing itself quickly. 

concept of microservice is like :

The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.


Why microservices?

"Microservices is a phenomenon of building applications as a collection of multiple independent services which are loosely coupled".
It is nothing but decomposing the application into various modules which are independent of each other.

The primary advantage of Microservices is that the modules can be independently deployed. The team size of developers is very less (5-10),so that deployment is very fast.
There is no need of working with single technology for the entire application as like of monolithic kernel. Various technologies can be used to build the application and it makes developers to comfortably work as their interest.



In the same e-commerce example, with the use of microservices, the services can be divided into various groups and it makes the developer teams easy to maintain and deploy.
These microservices can communicate each other synchronously with REST API over http and asynchronously using message brokers like KAFKA,ACTIVEMQ etc.

Popular Microservices frameworks:

  • Spring Boot (Best microservices framework in Java)
  • Flask(Popular microservices framework in Python)
  • Drop wizard(Java)
  • Spark framework(Java)
  • Swagger(Java)
  • Jersey(Java)




Comments

Popular posts from this blog

Java RoadMap

 

What is Java Unit testing, and how do I learn it...

What is Java Unit testing, and how do I learn it... Java Unit testing is when you create small tests to verify that small bits of your code are working as “units.” Typically you write these tests in Java itself. In each test, you might get the system into a certain state, then you interact with the system to exercise the behavior you want to test. You finally verify whether or not the system did what you expected. A primary goal is to reduce the number of defects that you integrate into the rest of the source base. You’ll find numerous tutorial articles if you search. Most people use JUnit, a simple tool that you’ll find in Eclipse or IDEA.

What is singleton design pattern?

Singleton design pattern Singelton Design Pattern.  The singleton design pattern is a software design pattern which ensures that a class of anyone object has only one instance (of computer science). In other words, we can also say that it restricts the instantiation of a class of any object. We require a singleton pattern because it may sometimes happen that we require only one object to coordinate with the action across the system. This concept is also applicable when we have to restrict instantiation over a number of objects. The singleton pattern helps us to solve problems like: Helps to ensure that a class has one instance. Helps to access the sole instance of a class easily. Helps to a class to control its instantiation. Helps to restrict a number of instances of a class. Now, you might be thinking about how to solve such problems. Here are a few key points which might help you: The first key point is to make a class which is responsible by itself fo...