Coder Social home page Coder Social logo

distributedtransaction's Introduction

Distributed Transaction Sample

.Net 6 Distributed Transaction Sample with MassTransit, RabbitMQ, OutboxPattern, Identity, Service Discovery/Registry, Gateway and more.

Includes

  • Onion Architecture
  • CQRS
  • Mediator (MediatR)
  • EF Core (PostgreSQL)
  • Dapper
  • MongoDB
  • MassTransit, RabbitMQ
  • Outbox Pattern
  • Identity
  • Authentication
  • Role based Authorization
  • Distributed Cache (Redis)
  • Distributed Lock (Redis - Redlock)
  • Service Discovery/Registry (Consul)
  • Gateway (Ocelot)
  • Serilog (File, Console, ElasticSearch)
  • Api Versioning
  • Http Client
  • FluentValidation
  • AutoMapper
  • Repository, Unit of Work Pattern
  • Polly

Run

Docker

  • To run RabbitMQ, Consul, Postgres, Redis, PgAdmin, ElasticSearch, Kibana as a container. Follow this command on Console
docker-compose up -d

Migration

  • To apply migrations follow this command on Package Manager Console for Order-Stock-Payment-User Microservices. (Set starting project to API and set default project to Infrastructure on Package Manager Console)
update-database

RabbitMQ

  • Microservices are not using default RabbitMQ user. Create a RabbitMQ user with following credentials. "admin" and "sa1234" .

If you want to create a different user then make sure to change appsettings too.

Get a Token

Admin user credentials are "[email protected]" and "admin_12345.".

What is Next?

Dont forget to add Authorization key to Headers.

TODO

  • Rule Engine (.Net Rules Engine)
  • Distributed Tracing (OpenTelemetry, Jaeger)
  • Healthcheck
  • Gateway Logging
  • Dockerize
  • Unit Tests
  • Bugfix (Enabling DbContextHandler)

distributedtransaction's People

Contributors

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