- Mastering Microservices with Java
- Sourabh Sharma
- 307字
- 2021-07-02 13:03:40
OTRS overview
Based on microservice principles, we need to have separate microservices for each functionality. After looking at OTRS, we can easily divide it into three main microservices—the restaurant service, the booking service, and the user service. There are other microservices that can be defined in the OTRS, but our focus is on these three microservices. The idea is to make them independent, including having their own separate databases.
We can summarize the functionalities of these services as follows:
- Restaurant service: This service provides the functionality for the restaurant resource—create, read, update, delete (CRUD) operations and searching. It provides the association between restaurants and tables. This service also provides access to the Table entity.
- User service: This service, as the name suggests, allows the end user to perform CRUD operations on user entities.
- Booking service: This makes use of the restaurant service and the user service to perform CRUD operations on bookings. It will use restaurant searching and its associated table lookup and allocation based on table availability for a specified time period. It creates a relationship between the restaurant/table and the user:

The preceding diagram shows how each microservice works independently. This is the reason why microservices can be developed, enhanced, and maintained separately, without affecting others. These services can each have their own layered architecture and database. There is no restriction to use the same technologies, frameworks, and languages to develop these services. At any given point in time, you can also introduce new microservices. For example, for accounting purposes, we can introduce an accounting service that can be exposed to restaurants for bookkeeping. Similarly, analytics and reporting are other services that can be integrated and exposed.
For demonstration purposes, we will only implement the three services that are shown in the preceding diagram.
- PostgreSQL Cookbook
- Windows系統(tǒng)管理與服務(wù)配置
- 算法訓(xùn)練營:入門篇(全彩版)
- C語言程序設(shè)計基礎(chǔ)與實驗指導(dǎo)
- Java Web開發(fā)之道
- aelf區(qū)塊鏈應(yīng)用架構(gòu)指南
- Windows Server 2012 Unified Remote Access Planning and Deployment
- Java Web應(yīng)用開發(fā)技術(shù)與案例教程(第2版)
- Go并發(fā)編程實戰(zhàn)
- Elasticsearch Server(Third Edition)
- Nginx實戰(zhàn):基于Lua語言的配置、開發(fā)與架構(gòu)詳解
- Procedural Content Generation for C++ Game Development
- Python+Tableau數(shù)據(jù)可視化之美
- Python 3.7從入門到精通(視頻教學(xué)版)
- PrimeFaces Blueprints