# GoTree ## 特性 * 熔断 * fork 热更新 * rpc 通信(c50k) * 定时器 * SQL 慢查询监控 * SQL 冗余监控 * 分层 * 强制垂直分库 * 基于 gseq 串行的全网日志 * 单元测试 * 督程 * 一致性哈希、主从、随机、均衡等负载方式 ## 快速使用 1. 获取 gotree。 ``` $ go get -u github.com/8treenet/gotree ``` 2. 安装 gotree。 ``` $ cd $GOPATH/src/github.com/8treenet/gotree/ $ go install ``` 3. 创建 learning 项目。 ``` $ gotree new learning ``` 4. learning 项目数据库安装、数据库用户密码配置。使用 source 或工具安装 learning.sql。 ``` $ mysql > source $GOPATH/src/learning/learning.sql # 编辑 db 连接信息,Com = Order、用户名 = root、密码 = 123123、地址 = 127.0.0.1、端口 = 3306、数据库 = learning_order # Order = "root:123123@tcp(127.0.0.1:3306)/learning_order?charset=utf8" $ vi $GOPATH/src/learning/dao/conf/dev/db.conf ``` 5. 启动 dao服务、 business 服务。 ``` $ cd $GOPATH/src/learning/dao $ go run main.go $ command + t #开启新窗口 $ cd $GOPATH/src/learning/business $ go run main.go ``` 6. 模拟网关执行调用,请查看代码。 代码位于 $GOPATH/src/learning/business/unit/gateway_test.go ``` $ go test -v -count=1 -run TestUserRegister $GOPATH/src/learning/business/unit/gateway_test.go $ go test -v -count=1 -run TestStore $GOPATH/src/learning/business/unit/gateway_test.go $ go test -v -count=1 -run TestShopping $GOPATH/src/learning/business/unit/gateway_test.go $ go test -v -count=1 -run TestUserOrder $GOPATH/src/learning/business/unit/gateway_test.go ``` 7. qps 压测 ``` # 每秒 1w 请求 $ go run $GOPATH/src/learning/business/unit/qps_press/main.go 10000 ``` ### github mac 2018 单机双端压测 
有疑问加站长微信联系(非本文作者)
