Given the domains that we have in our application, it is time to define the entities. When we speak of entities microservices it is important to note that any transactional need among microservices can mean a design error.
A process asynchronous message by the broker can be used to sanitize the database, but that does not mean that there is a transaction. Trying to establish a type of transaction between microservices that are completely separated may be a big mistake.
Our old application had the following entities:
- News:
- ID – UniqueID
- Author – FK user_id
- Title
- Description
- Content
- Labels – News subjects
- Type – New type (Sports, Famous, Politics)
- CreatedAt
- UpdatedAt
- PublishedAt
- Recommendations:
- Label
- user_id