MICRO-SERVICE ARCHITECTURE
Md Bipul Khan
Deputy Director and Head of Solution Engineering @ ???? | Led Development and Solutions Engineering team
MICRO-SERVICE ARCHITECTURE
Microservices offer a unique kind of modularization. It makes big solutions easier, increase productivity, offer flexibility in choosing technologies and are great for distributed systems. A big system can be break in too many parts which are independent and connected to each other.
WHY DO USE MICROSERVICES
Microservices, when Used effectively, microservice architectures allow to scale the application as the number of developers working on application increases.
That means keep tracking each time a new service is added to the system or a new connection between microservices is made. System Used different type connection for different type services.
Like FinTech Solutions, the FinTech Solution need to Connectivity with different type organization via Their VPN or IPSec connectivity. So best way to develop FinTech System using Micro-Service Architecture.
MICROSERVICES COMMUNICATE WITH EACH OTHER
A microservices-based application is a distributed system running on multiple processes or services, usually even across multiple servers or hosts. ... Therefore, services must interact using an inter-process communication protocol such as HTTP, AMQP, Socket, or a binary protocol like TCP, depending on the nature of each service.
MICROSERVICES ADVANTAGES
System built as microservices can be broken down into multiple component or services, so that each of these services can be deployed and then redeployed independently without compromising into the integrity of an application.
- Follow the Single Responsibility Principle
- Flexible – failure in one service does not impact other services. If you have monolithic or bulky service errors in one service/module it can impact other modules/functionality.
- High scalability – demanding services can be deployed in multiple servers to enhance performance and keep away from other services so that they don’t impact other services. Will be difficult to achieve same with single, large monolithic service.
- Easy to enhance – less dependency and easy to change and test
- Low impact on other services – being an independent service, this has less chance to impact other services
- Easy to understand since they represent the small piece of functionality
- Easy of Deployment and Migration.
- Freedom to choose technology – allows you to choose technology that is best suited for a particular functionality.
Senior Consultant @Cefalo | Android Enthusiast | Team Player
5 年Nice article. I wonder if you please share your opinion about my following question which is, "If Fine Tech Solution have 100 clients and each client have ~1000 users and at-least 500-700 users are concurrent user of this application (through mobile/web/iOTdevices) and all those 100 companies always wants their data to be on their infrastructure then what will be your opinion regarding this model & also deployment pattern.". I know may be this will be a lots of words but if you please share your opinion in short that will be enough. Thanks again.??