Blueprint Emitter Service
Emitter is one of the 3 parts of Goka's Kafka streams that produce a message to
specified stream topic with given configurations. When Emitter producing
a message, there may be a Processor
waiting to process the message from stream topic
such as counter, filter or lookup etc.
- Producer Message
- Support gRPC and RESTful
- Goka
- Protoc gen gRPC gateway
- Protoc gen OpenAPI V2
- Docker
- Kafka
- Zookeeper
- Postgres
- Protoc
- Install protoc gen gRPC gateway
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
- Install protoc gen OpenAPI (Swagger)
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
- Compile
.proto
file
make pbgen
- Start server
make start
Before push, should run linter always for code quality
- Install linter (golangci-lint)
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
- Run linter
golangci-lint run
- GRPC: localhost:3000
- HTTP: localhost:3001
- Swagger: localhost:3001/swagger-ui