Skip to content

kawgh1/mssc-brewery-bom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Part of John Thompson's Microservices course

Default Port Mappings - For Single Host

Service Name Port
Brewery Beer Service 8080
Brewery Beer Order Service 8081
Brewery Beer Inventory Service 8082

MSSC Brewery BOM (Bill of Materials)

Since this BOM is not published to Maven Central - which is outside scope - this BOM is not being used for the microservices

  • All Beer Works microservices will inherit from John Thompson's com.github.sfg-beer-works brewery-BOM so they can actually work with on the Cloud

  • Still provides a good example of a local computer BOM implementation

How to do a Maven release on Maven Central with ossrh

- # mvn release:prepare -P ossrh
  • John Thompson's lesson in Microservices

  • John Thompson's Maven course

  • Deconstruction Process - 12/28/2020

    • Where We Are At

      • Beer Monolith has been broken down into 3 independent microservices
        • Beer Service, Beer Inventory and Beer Order Service
      • Each microservice is using its own in-memory database, its own repository
      • Setup inter-service communication for read operations
        • the Beer API is dependent on Beer Inventory to get inventory data
        • the Beer Order Service is dependent on Beer Service to get data about the Beer objects themselves (descriptions, properties, etc.)
        • So we can see how these services are starting to work together
    • What's Not Working

      • Order Allocation is not working
      • Beer 'Brewing" is not working
      • Monolith was using Spring Events and scheduled jobs for these features
        • Events and consumers of events is broken
      • The 3 services are using Maven, but there is a high degree of duplication in Maven POM files
    • Next Steps

      • Establish a Maven BOM (Bill of Materials) to reduce duplication in Maven POMs
        • Also - good technique for standardization and compliance across the enterprise
        • By making all subsystems and microservice POMs dependent on a BOM, don't have to go in and update each one every time some version is updated or patched
      • Setup MySQL for database - will help with trouble shooting, and configuration for target deployment
      • Transaction to JMS (Java Message Service) to publish events as messages
      • Build Saga's to coordinate microservice actions for events
        • ie Order Allocation

About

Bill of Materials for SFG Beer Microservices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published