A Microservices Architecture consists of a collection of small, autonomous services. Each service is self-contained and should implement a single business capability.
Below is an example of designing and implementing Microservices using:
-
Install Golang
-
Install MongoDB
-
Start MongoDB
$ mongod --dbpath="[your_database_path]"
- Install neccessary Golang packages
$ go get -u github.com/swaggo/swag/cmd/swag github.com/swaggo/gin-swagger github.com/swaggo/gin-swagger/swaggerFiles github.com/alecthomas/template github.com/gin-gonic/gin github.com/sirupsen/logrus gopkg.in/mgo.v2/bson github.com/natefinch/lumberjack
NOTE: You can change host and basePath of the service by editting the file ./docs/docs.go
Update values of file ./config/config.json
{
"port": ":8808",
"enableGinConsoleLog": true,
"enableGinFileLog": false,
"logFilename": "logs/server.log",
"logMaxSize": 10,
"logMaxBackups": 10,
"logMaxAge": 30,
"mgAddrs": "127.0.0.1:27017",
"mgDbName": "go-microservices",
"mgDbUsername": "",
"mgDbPassword": "",
"jwtSecretPassword": "raycad",
"issuer": "seedotech"
}
- Run the Authentication service
$ cd [go-microservices]/src/user-microservice
$ go run main.go
>> [GIN-debug] Listening and serving HTTP on :8808