Microservices in Go: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:
* [https://www.amazon.com/Microservices-Go-Building-scalable-microservices-ebook/dp/B0BHWM674P Microservices with Go: Building scalable and reliable microservices with Go] by Alexander Shuiskov
* [https://www.amazon.com/Microservices-Go-Building-scalable-microservices-ebook/dp/B0BHWM674P Microservices with Go: Building scalable and reliable microservices with Go] by Alexander Shuiskov
=Internal=
=Internal=
* [[Go_Project#Microservice-based_Project_Layout|Go Project]]
* [[Go_Code_Examples|Go Code Examples]]
* [[Go_Code_Examples|Go Code Examples]]
* [[Microservices]]
* [[API Concepts]]
=Overview=
=Working Example=
{{External|https://github.pie.apple.com/ovidiu-feodorov/go-micros}}
=Project Layout=
Each of the services <code>metadata</code>, <code>movie</code>, <code>rating</code> contains multiple packages. The entire application is developed as a [[Go_Modules#Overview|module]].
<font size=-2>
.
├── README.md
├── go.mod
├── metadata
│   ├── cmd
│   │   └── main.go
│   ├── internal
│   │   ├── controller
│   │   ├── handler
│   │   └── repository
│   └── pkg
├── movie
│   └── cmd
│      └── main.go
└── rating
    └── cmd
        └── main.go
</font>
<syntaxhighlight lang='bash'>
go mod init go-micros
</syntaxhighlight>
=Service Overview=
* API
* Data model
* Business logic
* Database (persistence)
* Service dependencies

Revision as of 18:57, 14 December 2023

External

Internal

Overview

Working Example

https://github.pie.apple.com/ovidiu-feodorov/go-micros

Project Layout

Each of the services metadata, movie, rating contains multiple packages. The entire application is developed as a module.

.
├── README.md
├── go.mod
├── metadata
│   ├── cmd
│   │   └── main.go
│   ├── internal
│   │   ├── controller
│   │   ├── handler
│   │   └── repository
│   └── pkg
├── movie
│   └── cmd
│       └── main.go
└── rating
    └── cmd
        └── main.go

go mod init go-micros

Service Overview

  • API
  • Data model
  • Business logic
  • Database (persistence)
  • Service dependencies