Skip to content

GrantZheng/neomonolith-with-UCDD

Repository files navigation

Monolith_demo

Monolith_demo project is an example of the elegant monolith that build by the Go-kit toolkit with the Gokit-cli. It describes a live stream application consisting of multiple services, such as room, gift, user and so on.

How to build an easily separated monolith

Software design and modeling methodology

To construct a elegant application,software analyze and modeling is an indispensable procedure when you meet up with a little complex business scenarios. As we all know,DDD(Domain Driven Design) is a very excellent principle put forward by the Eric Evans,I design and build the demo project based on UCDD(Use Case Driven Desgin).

Elegant implementation based on the modeling

According to the UCDD principle, we can get our business model as shown below. image We'd better forget the traditional idea of MVC in our mind, everything is service. The simple live stream application consist of twelve services, each service module corresponds to a folder which generated by the Go-kit toolkit with the Gokit-cli.

  • barrage service: it is dependent on the room service, the user service, the sensitive words service and the message channel service.
  • living service: it is dependent on the room service, the user service, the video content service and the identity service.
  • gift service: it is dependent on the room service, the user service, the identity service, the pay service and the message channel service.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages