Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/go-kiss/sniper
轻量级 go 业务框架
https://github.com/go-kiss/sniper
go golang golang-framework grpc http rpc
Last synced: 23 days ago
JSON representation
轻量级 go 业务框架
- Host: GitHub
- URL: https://github.com/go-kiss/sniper
- Owner: go-kiss
- License: mit
- Created: 2019-06-13T01:00:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-04-24T09:40:44.000Z (over 1 year ago)
- Last Synced: 2024-09-30T15:41:34.566Z (about 1 month ago)
- Topics: go, golang, golang-framework, grpc, http, rpc
- Language: Go
- Homepage: https://taoshu.in/go/sniper.html
- Size: 362 KB
- Stars: 1,252
- Watchers: 29
- Forks: 178
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - sniper
README
# Sniper 轻量级业务框架
Sniper 是一套轻量级但又很现代化的业务框架。轻量体现在只集成了最必要的功能,现代
则体现在接口描述IDL、可观测、强大的脚手架等方面。Sniper 框架从 2018 年开发并开源,在我们业务生产环境平稳运行,至少可以应对五百万
DAU量级的业务。我们也不断把多年的生产实践经验固化到 Sniper 框架,希望能帮助更多
的朋友。有兴趣的同学也可以加我的微信`taoshu-in`我拉大家进群讨论。
## 系统要求
Sniper 仅支持 UNIX 环境。Windows 用户需要在 WSL 下使用。
环境准备好之后,需要安装以下工具的最新版本:
- go
- git
- make
- [protoc](https://github.com/google/protobuf)## 快速入门
安装 sniper 脚手架:
```bash
go install github.com/go-kiss/sniper/cmd/sniper@latest
```创建一个新项目:
```bash
sniper new --pkg helloworld
```切换到 helloworld 目录。
运行服务:
```bash
CONF_PATH=`pwd` go run main.go http
```使用 [httpie](https://httpie.io) 调用示例接口:
```bash
http :8080/api/foo.v1.Bar/Echo msg=hello
```应该会收到如下响应内容:
```
HTTP/1.1 200 OK
Content-Length: 15
Content-Type: application/json
Date: Thu, 14 Oct 2021 09:49:16 GMT
X-Trace-Id: 08c408b0a4cd12c0{
"msg": "hello"
}
```## 深入理解
Sniper 框架几乎每一个目录下都有 README.md 文件,建议仔细阅读。
如需了解 Sniper 框架的工作原理和设计原则,请移步我的[博客](https://taoshu.in/go/sniper.html)。