Always wanted to complete a fully functional open source project
Decided to develop a full-featured open source project in Go
- gin、hertz
- grpc、kitex
- redis
- mysql
- mongodb
- asynq | go-queue
- amqp
- elasticsearch | gofound | zinc
- prometheus
- grafana
- jaeger
- dtm
- apisix
- wechat/alipay
- zap
- viper
- docker/docker-compose/kubernetes
- members
- TODO recharge
- balance
- multi-merchant
- TODO withdraw
- community⌛
- installments
- crowdfunding
- spike
- group buy
- lottery
- delivery
- fresh
- coupon
- second-hand transaction ? trade old things
- IM
- live streaming
- reward
The project builds scaffolding based on mixgo, which can realize flexible assembly of components. It is currently the client API interface, and admin related codes will not be implemented for the time being.
- app: Business code Include api grpc mq job
- common: common components error、middleware、interceptor、tool、ctxdata
- data: runtime data
- deployments: Deploy related configuration files
- docs: Project Series Documentation
- pkg: internal package
The front is slb followed by apisix
Use the microservice development pattern. api(http) --- rpc(grpc)
rpc provides basic service implementation.
api implements service aggregation business processing.
- logstash
- filebeat
- prometheus
- jaeger
- kafka
- mq
- message queue
- asynq
- amqp
- delay queue
- asnyq
- amqp
- timed task
- cron
- dtm
develop use docker/docker-compose
deployment use kubernetes
- Add grpc checksum
- permission check
- grpc error handling
Apache License Version 2.0, https://www.apache.org/licenses/