-
Notifications
You must be signed in to change notification settings - Fork 40
Home
Abhishek Dubey edited this page Jul 20, 2020
·
2 revisions
Loaded microservice applications for doing different kinds of POC. This is a sample Employee System which is designed to understand the microservices nature and behavior.
The purpose of creating this application is to provide an individual, a holistic idea of microservice architecture, it's working, and its setup.
- Please work in a group
- If we are remote, we have break out rooms!
- We will be running a lot of instances
- Dev-ops is maddening
- We will let a fun service decide your teamname: http://creativityforyou.com/combomaker.html
- Select a leader of your group, they will need a public Github account and generate a token
- The leader should provide a token to the administrator, via virtual chat, slack, or email
These are a few microservices that are getting used in this complete project.
Application Name | Default Port | Dependency | Language | Description |
---|---|---|---|---|
attendance | 8081 | MySQL | Attendance is a microservice which is designed in Golang to manage employee's attendance information. | |
employee | 8083 | Elasticsearch | Employee microservice is also designed in Golang to manage employee's information. | |
salary | 8082 | Elasticsearch | Salary is also a golang based application which creates and manages employee's salary information. | |
notification | - | SMTP Server | Notification is a scheduled service which gets used to send mail notifications to employees. | |
frontend | 5000 | Gateway | Frontend is written in ReactJS and gets served using nginx proxy, config can be found here | |
gateway | 8080 |
|
Gateway is a springboot based API gateway which manages the routing between applications. | |
webserver | 80 | frontend | Webserver is a nginx based proxy which proxies the frontend application. |
For further information about the component, you can click on the application.
These applications are using two kinds of databases, one is structured and the other is non-structured.
Application Name | Default Port | Dependency | Description |
---|---|---|---|
elastic | 9092 | - | Elasticsearch is being used as a non-structured database which manages the employee's information and salary. |
mysql | 3306 | - | MySQL is getting used for a structured database which manages the employee's attendance information. |
For further information, click on the DB.
The architecture of the complete microservice interaction looks like this:-