https://github.com/daniel-covelli/learn-go
Learning microservices in Go
https://github.com/daniel-covelli/learn-go
cors go gorilla grpc microservices rest-api
Last synced: 3 months ago
JSON representation
Learning microservices in Go
- Host: GitHub
- URL: https://github.com/daniel-covelli/learn-go
- Owner: daniel-covelli
- License: mit
- Created: 2021-08-16T00:18:34.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-27T15:50:01.000Z (over 3 years ago)
- Last Synced: 2024-11-15T07:44:40.606Z (6 months ago)
- Topics: cors, go, gorilla, grpc, microservices, rest-api
- Language: Go
- Homepage:
- Size: 106 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# learn-go
[](https://goreportcard.com/report/github.com/daniel-covelli/learn-go) [](https://opensource.org/licenses/MIT)
This is a playground for learning microservices in GO.
```shell
# GET
curl http://localhost:9090 | jq # ping server and display formatted json# POST
curl http://localhost:9090 -d "{...}" | jq# PUT
curl -v http://localhost:9090/1 -XPUT -d '{...}' | jq
```## Contents
The contents of this repo come from [Nic Jackson](https://github.com/nicholasjackson)'s [Building Microservices in Go](https://www.youtube.com/playlist?list=PLmD8u-IFdreyh6EUfevBcbiuCKzFk0EW_) YouTube series. The concepts below are covered in the full 21 part series.
- Introduction to microservices
- RESTFul microservices
- gRPC microservices
- Packaging applications with Docker
- Testing microservice
- Continuous Delivery
- Observability
- Using Kubernetes
- Debugging
- Security
- Asynchronous microservices
- Caching
- Microservice reliability using a Service Mesh## Tech
Below are the tools and technologies covered in the course.
| Tag | Description |
| --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| [net/http](https://pkg.go.dev/net/[email protected]) | Package http provides HTTP client and server implementations. |
| [Gorilla](https://github.com/gorilla/mux) | Package gorilla/mux implements a request router and dispatcher for matching incoming requests to their respective handler. |
| [Package Validator](https://github.com/go-playground/validator) | Package validator implements value validations for structs and individual fields based on tags. |
| [goswagger](https://goswagger.io/) | Goswagger autogenerates documentation for Go APIs. |
| [Redoc](https://github.com/Redocly/redoc) | Redoc is a OpenAPI/Swagger-generated API Reference. |