介绍
goalkeeper致力于解决SpringCloudNetflix微服务的综合治理,客户端通过增加不同功能模块,实现了对应用的管理、流量管控监测、路由管理、灰度路由、配置中心等功能,是一个一站化治理平台。
项目地址:goalkeeper in gitee
如果对您有一定的帮助,希望可以给作者一颗小星星,谢谢!
软件架构
安装教程
从gitee或github上拉取源码到本地提供一个mysql环境版本>8,执行docs/mysql下的gk.sql的建表脚本修改goalkeeper-server下的dashboard的配置文件的中数据量链接账号密码等参数(上一步配置的参数),编译打包并启动编译打包goalkeeper-sdk下的所有sdk包,并安装到本地maven仓库或远程私有仓库客户端按需引入sdk,并配置链接dashboard的地址、令牌,即可获得该模块的能力客户端SDK
所有模块都需要依赖于goalkeeper-client-bootstrap
使用事项
如果Dashboard配置了访问令牌和秘钥,则客户端也需要同样配置令牌和秘钥goalkeeper的注册中心模块依赖于eureka服务,需要提供eureka服务,如果是其他类型注册中心,则可以忽略该模块自定义的路由规则不影响原有应用实例的区域化部署,比如eureka的zoneflow sdk、route sdk依赖于config sdk, 即需要同时引入 config sdk配置示例
客户端SDK配置
基础配置goalkeeper:client:server-addrs: http://127.0.0.1:10500/goalkeeper
config配置
goalkeeper:config:name: 'DEFAULT'file-extension: 'yaml'group: 'DEFAULT_GROUP'refresh-enabled: true
flow配置
goalkeeper:flow:name: 'DEFAULT_FLOW'rules:enabled: truelimits:IP:127.0.0.1: 10
zuul route配置
goalkeeper:route:enabled: truerule:rules:IP:"[127.0.0.1]":callerAppId: "*" # 调用方服务,* 所有服务calleeAppId: "service-u" # 被用方服务,* 所有服务callerKey: "127.0.0.1"callerValue: ""calleeLabel: "gk-route-rule"calleeLabelValue: "v0.2"weight: 100
服务端配置
# 项目配置goalkeeper:security:token-header: 'Authorization'token-secret: '12345678ABCDEFGH'client-access-key: 'xxxxxxxxxxxxxxx'client-access-secret: 'xxxxxxxxxxxxxx'