stack-labs / starter-kit

stack-rpc 快速开发包
Apache License 2.0
382 stars 55 forks source link

Micro 快速开发工具包

项目进行中

本仓库旨在提供面向 stack-rpc 生产环境的快速开发包。

目录

架构设计

系统架构图

业务架构图

Console示例

领域模型&整洁架构参考

目录结构

├── console             控制台示例
│   ├── account         go.micro.srv.account,Account服务
│   │   ├── domain              领域
│   │   │   ├── model           模型
│   │   │   ├── repository      存储接口
│   │   │   │   └── persistence ①存储接口实现
│   │   │   └── service         领域服务
│   │   ├── interface           接口
│   │   │   ├── handler         micro handler接口
│   │   │   └── persistence     ②存储接口实现
│   │   ├── registry            依赖注入,根据使用习惯,一般Go中不怎么喜欢这种方式
│   │   └── usecase             应用用例
│   │       ├── event           消息事件
│   │       └── service         应用服务
│   ├── api             go.micro.api.console,API服务
│   ├── pb              服务协议统一.proto
│   └── web             go.micro.api.console,Web服务,集成gin、echo、iris等web框架
├── deploy              部署
│   ├── docker
│   └── k8s
├── doc                 文档资源
├── gateway             网关,自定义micro
└── pkg                 公共资源包

目标功能

开发环境

TODO

部署环境

Kubernetes环境

可选服务

Jaeger > 浏览器访问:http://localhost:16686/ ```bash $ docker run -d --name=jaeger -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp -p5778:5778 -p16686:16686 -p14268:14268 -p9411:9411 jaegertracing/all-in-one:latest ```
Prometheus > 浏览器访问:http://localhost:9090/ > `prometheus.yml`参考`gateway`插件`[metrics/prometheus.yml](/gateway/plugin/metrics/prometheus.yml) ```bash $ docker run -d --name prometheus -p 9090:9090 -v ~/tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus ```
Grafana > 浏览器访问:http://localhost:3000/ > `Grafana`仪表盘`import`[metrics/grafan.json](/gateway/plugin/metrics/grafan.json) ```bash $ docker run --name grafana -d -p 3000:3000 grafana/grafana ```

参与贡献

代码格式