GithubHelp home page GithubHelp logo

clubs's Introduction

Clubs

Clubs is a project sample that can be used as a service in a microservice system. This project required .Net 5 to be installed. This project use SQLite for database persistence

Test

cd Clubs.UnitTest
dotnet test

Installation

cd Clubs.Api
dotnet restore
dotnet run

Microservices interservice communication

In a microservices system, each service is independent and has it's own business logic and data. But they still need to intergate with each others.

There's two type of communication:

  • Synchronous protocol (like HTTP) : Client code send a request and wait for the response.
  • Asynchronous protocol (like messaging): Client code send a request but doesn't wait for the response.

In my opinion, the option 2 is better because each service is more independent. With synchronous communication, if one service fails or not working, others services also hang and can neither function nor resposne to customer. The whole system will not be resilient.

With asynchronous communication, if one service is off, other services can still work and transfer the works to the message broker (like rabbitMQ) , and the offline services can continue their works when they are online again.

With synchronous communication, the services will become a chain of services, and customer will have to wait for all the services to complete before they can receive the response. So the performance and user experience will suffer.

So the asynchronous protocol is more resilient, fault-tolerant and improve the availability of the system. We should alway use asyschronous whenever possible.

clubs's People

Contributors

phanquanghuy9869 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.