Giter Club home page Giter Club logo

microservices's Introduction

MicroServices

This project is about MicroServices and it's best practices. What is MicroServices and on what principle it's based on?

Microservices is an architecture design model with a specific bounded context, configuration, and dependencies. These result from the architectural principles of the domain-driven design and DevOps. Domain-driven design is the idea of solving problems of the organization through code.

The business goal is important to the business users, with a clear interface and functions. This way, the microservice can run independently from other microservices. Moreover, the team can also work on it independently, which is, in fact, the point of the microservice architecture.

What is Domain Driven Design

Eric Evans, introduced the concept in 2004, in his book Domain-Driven Design: Tackling Complexity in the Heart of Software. According to the book, it focuses on three principles:

  • The primary focus of the project is the core domain and domain logic.

  • Complex designs are based on models of the domain.

  • Collaboration between technical and domain experts is crucial to creating an application model that will solve particular domain problems.

    Screenshot 2022-08-15 at 3 40 58 PM

Advantages of Domain-Driven Design

Visit following link for more details:

Reference from : https://medium.com/microtica/the-concept-of-domain-driven-design-explained-3184c0fd7c3f

Writtern by : Sara Miteva

https://saramiteva.medium.com/

Microservices are considered to be service oriented architecture. From outside a single microservice is considered to be black box.

Microservices embraces the concept of data hiding. This help in maintaining the services based on different domain and the changes in them doesn't effect the other service.

SOA vs MicroServices

SOA is a design pattern in which multiple services combine to perform a certain tasks through different availble endpoints. The SOA emphasizes on reusing the code for different problems.

Key Concepts of MicroServices:

  • Independent Deployability: This allow application to be loosely coupled and one application will be deployed without changing anything in the other service.

  • Modeled around Business Domain:

    Screenshot 2022-08-15 at 5 24 34 PM

Separating the business model will allow to make things easier, the domain of every business will be different so making change in one business domain will not effect the other.

  • Owning their own State: Every Microservice should have their own state like if one service want to access the data from the other service it will require permissions from other service to allow access to the data, also it will keep the Object Oriented encapsulation principle alive of data hiding principle.

Three C's of Microservices:

Monolithic:

Screenshot 2022-08-15 at 7 40 57 PM

microservices's People

Contributors

muhammadibrahimalvi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.