环境和脚本
> go get -u github.com/apache/rocketmq-client-go/v2
原创大约 2 分钟
环境和脚本
> go get -u github.com/apache/rocketmq-client-go/v2
环境和脚本
> go get -u github.com/go-redis/redis/v8
> go get -u github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi
Kong | ApiSix | Trk | ApiGee | |
---|---|---|---|---|
部署模式 | 单机/集群 | 单机/集群 | 单机/集群 | 仅集群 |
数据存储 | PGSQL/Cseeandra | etcd | Redis | PGSQL/Cseeandra/Zookeeper |
是否开源 | Apache V2.0 | Apache V2.0 | MPL | 否 |
核心技术 | Nginx + LUA | Nginx + LUA | Golang | ? |
私有化部署 | 支持 | 支持 | 支持 | 不支持 |
自定义插件 | 支持 | 支持 | 支持 | 不支持 |
社区活跃度 | 高 | 高 | 高 | 中 |
yaml | 支持 | 支持 | 不支持 | 不支持 |
环境和脚本
go get -u github.com/alibaba/sentinel-golang
zipkin/sleuth | jaeger | skywalking | |
---|---|---|---|
OpenTracing兼容 | 是 | 是 | 是 |
客户端支持语言 | java, c#, go, php, python等 | java, c#, go, php, python等 | java, .net, nodejs, php, python |
存储 | es, mysql, cassandra, 内存 | es, kafka, cassandra, 内存 | es, h2, mysql, tidb, shardsphere |
传输协议支持 | http, MQ | udp/http | gRPC |
UI丰富程度 | 低 | 中 | 中 |
实现方式(代码侵入性) | 拦截请求,侵入 | 拦截请求,侵入 | 字节码注入,无侵入 |
扩展性 | 高 | 高 | 高 |
trace查询 | 支持 | 支持 | 支持 |
性能损失 | 中 | 中 | 低 |
环境和脚本
> go get -u github.com/nacos-group/nacos-sdk-go
> docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server
环境和脚本
> go get -u github.com/hashicorp/consul/api
> go get -u github.com/mbobakov/grpc-consul-resolver
> docker run -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8500:8500 -p 8600:8600 -d consul:1.15.4 consul agent -dev -client=0.0.0.0
# 或者本地环境运行:
> ./consul agent -dev -client=0.0.0.0
# 要测试负载均衡,可通过将同一个服务启动两次的方法来实现
# 1、先直接在goland中用源代码启动
# 2、然后在goland的Terminal启动(执行以下命令)
> cd ~/workspace-go/gomicroservice
> go run userapi/main.go