Giter Site home page Giter Site logo

wuyichen24 / microservices-patterns Goto Github PK

View Code? Open in Web Editor NEW
132.0 5.0 52.0 52.59 MB

The source code of the book "Microservices Patterns (Chris Richardson)" and the personal study note of Eventuate Tram Framework (The whole solution of transactional messaging for Spring Boot microservices).

License: Apache License 2.0

Groovy 1.27% Java 97.68% Dockerfile 0.33% Gherkin 0.19% TSQL 0.53%
spring-boot microservice kafka zookeeper cdc event-driven eventuate-framework

microservices-patterns's Introduction

microservices-patterns

Build Status License

This repository contains the source code of the book "Microservices Patterns (Chris Richardson)" and the personal study note of Eventuate Tram Framework (The whole solution of transactional messaging for Spring Boot microservices).

Overview

This source code was re-organized by the original source code of the book and I make sure each module is runnable.

Application Context

This is an application called FTGO (Food to Go). Consumers use the FTGO website or mobile application to place food orders at local restaurants. FTGO coordinates a network of couriers who deliver the orders. It's also responsible for pay couriers and restuarants. Restuarants use the FTGO website to edit their menus and manage orders. The application use s various web services, including Stripe for payments, Twilio for messaging, and Amazon Simple Email Service (SES) for email.

Structure

Technology Stack

Differences to The Original Source Code

  • Removed all the proxy classes in the Order Service so that the code organization of 3 sages (the create order sage, the cancel order sage and the revise order sage) is consistent.
  • Regenerated the stub for the gRPC server in the Order Service (The gRPC code is incompleted in the original source code and was causing issues when starting the Order Service).
  • Finished the routing functionality for the Accounting Service, the Consumer Service, the Delivery Service and the Kitchen Service in the API gateway (Only the routing logic of the Order Service was finished in the original source code).
  • Changed the port number of all the services and the API gateway.
  • Replaced hardcoded channel names in multiple places. Centralized those channel names in one place.
  • Fixed some bugs.
  • Added more logging.
  • Enhanced API documentation (Swagger UI).

Study Notes

Documentation

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.