gotree

作者: 八叉树 | 来源:发表于2019-05-23 14:28 被阅读2次

    gotree

    gotree 是一个垂直分布式框架。 gotree 的目标是轻松开发分布式服务,解放开发者心智负担。https://github.com/8treenet/gotree

    特性

    • 熔断
    • fork 热更新
    • rpc 通信(c50k)
    • 定时器
    • SQL 慢查询监控
    • SQL 冗余监控
    • 分层
    • 强制垂直分库
    • 基于 gseq 串行的全网日志
    • 单元测试
    • 督程
    • 一致性哈希、主从、随机、均衡等负载方式
    • 正统 oop 设计模式

    快速使用

    1. 获取 gotree。
    $ go get -u github.com/8treenet/gotree
    
    1. 安装 gotree。
    $ cd $GOPATH/src/github.com/8treenet/gotree/
    $ go install
    
    1. 创建 learning 项目。
    $ gotree new learning
    
    1. 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
    
    1. 启动 dao服务、 business 服务。
    $ cd $GOPATH/src/learning/dao
    $ go run main.go
    $ command + t #开启新窗口
    $ cd $GOPATH/src/learning/business
    $ go run main.go
    
    1. 模拟网关执行调用,请查看代码。 代码位于 $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
    
    1. qps 压测
    # 每秒 1w 请求
    $ go run $GOPATH/src/learning/business/unit/qps_press/main.go 10000
    
    mac 2018 gotree

    相关文章

      网友评论

        本文标题:gotree

        本文链接:https://www.haomeiwen.com/subject/czgvzqtx.html