Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/daheige/gmicro

golang grpc micro framework.
https://github.com/daheige/gmicro

gmicro go grpc grpc-framework grpc-gateway grpc-tools micro microservice

Last synced: 3 months ago
JSON representation

golang grpc micro framework.

Awesome Lists containing this project

README

        

# gmicro

Golang grpc micro library.
Microservice prototype with gRPC + http +h2c+ gRPC gateway + logger + prometheus.
Require Go version >= v1.13.
Reference project:https://github.com/dakalab/micro

# supported features

Golang grpc microservice scaffolding mainly encapsulates some components of grpc,
log tracking, link tracking, traffic h2c conversion, service monitoring prometheus
and other functions,as far as possible to maintain the kiss principle,
so that these components are pluggable of.

The framework supports 2 different methods such as http api, grpc server pb.
The protocol called by the client can be http or grpc pb format.
At the same time,it supports the same port, while providing
http services (supporting http1.x protocol requests) and the processing
capabilities of grpc server.

# go version
if you use go version < 1.16,please use gmicro tag v1.3.3
else use gmicro tag v2.3.0 higher version.

# installation

go get -v github.com/daheige/gmicro/v2

# quick start

please see example demo

# grpc-go

https://github.com/grpc/grpc-go

# grpc-gateway doc

https://grpc-ecosystem.github.io/grpc-gateway/

# gmicro action

https://github.com/daheige/goapp

https://github.com/daheige/gmicro-demo

Old projects can continue to use the v1 version, and new projects can start to use the v2 version.
Note that the gmicro address has changed, and the v2 version is github.com/daheige/gmicro/v2

# change log

| options | desc | time |
|:------------------|:-----------------------------------------|:-----------|
| go mod update | update grpc version to v1.60.1 | 2024-01-10 |
| grpc nodejs tools | update grpc nodejs client code generated | 2024-01-10 |
| grpc mac tools | add mac grpc install shell | 2024-01-10 |

| options | desc | time |
|:-----------------|:--------------------------------------|:-----------|
| go mod update | update grpc mod | 2023-06-04 |
| grpc metadata | fix request md for RequestInterceptor | 2023-06-04 |
| add x-request-id | fix request x-request-id from md | 2023-06-04 |

| options | desc | time |
|:----------------|:---------------------|:-----------|
| grpc tools | update docs | 2022-05-15 |
| grpc dockerfile | update go grpc tools | 2022-05-15 |

| options | desc | time |
|:----------------|:------------------------------------------|:-----------|
| grpc gateway | upgrade grpc gateway to v2.10.0 | 2022-05-11 |
| grpc | upgrade go grpc to v1.46.0 | 2022-05-11 |
| protobuf | upgrade protobuf to v1.28.0 | 2022-05-11 |
| grpc dockerfile | upgrade go to v1.16.15 and protoc v3.15.8 | 2022-05-11 |

| options | desc | time |
| :----- |:----------------------------------|:-----------|
| grpc gateway | upgrade grpc gateway to v2.4.0 | 2021-06-19 |
| grpc | upgrade go grpc to v1.38.0 | 2021-06-19 |
| protobuf | upgrade protobuf to v1.26.0 | 2021-06-19 |

# grpc tools dockerfile
https://github.com/daheige/gmicro-grpc-tools
gmicro v2版本对应的grpc v1.60.1 待更新。。。

# install grpc tools
```shell
sh example/bin/grpc_tools.sh
```

# Google APIs

# googleapis link:https://github.com/googleapis/googleapis
api/rpc link: https://github.com/googleapis/googleapis/tree/master/google

============

Project: Google APIs
URL: https://github.com/google/googleapis
Revision: 3544ab16c3342d790b00764251e348705991ea4b
License: Apache License 2.0


Imported Files
---------------

- google/api/annotations.proto
- google/api/http.proto
- google/api/httpbody.proto


Generated Files
----------------

They are generated from the .proto files by protoc-gen-go.
- google/api/annotations.pb.go
- google/api/http.pb.go

# License

MIT