-
Notifications
You must be signed in to change notification settings - Fork 1.4k
如何快速搭建和运行示例
HaojunRen edited this page Sep 9, 2024
·
8 revisions
① 下载代码,Git clone https://github.com/Nepxion/DiscoveryGuide.git,分支为6.x.x-simple
② 代码导入IDE
③ 下载Nacos服务器
- 从https://github.com/alibaba/nacos/releases获取nacos-server-x.x.x.zip,并解压
④ 启动Nacos服务器
- Windows环境下,运行bin目录下的startup.cmd
- Linux环境下,运行bin目录下的startup.sh
- 在IDE中,启动四个应用服务和两个网关服务,如下
类名 | 微服务 | 服务端口 | 版本 | 区域 | 环境 | 可用区 |
---|---|---|---|---|---|---|
DiscoveryGuideServiceA1.java | A1 | 3001 | 1.0 | dev | env1 | zone1 |
DiscoveryGuideServiceA2.java | A2 | 3002 | 1.1 | qa | common | zone2 |
DiscoveryGuideServiceB1.java | B1 | 4001 | 1.0 | qa | env1 | zone1 |
DiscoveryGuideServiceB2.java | B2 | 4002 | 1.1 | dev | common | zone2 |
DiscoveryGuideGateway.java | Gateway | 5001 | 1.0 | 无 | 无 | 无 |
DiscoveryGuideZuul.java | Zuul | 5002 | 1.0 | 无 | 无 | 无 |
- 部署拓扑图
全链路路径, 如下
API网关 -> 服务A(两个实例) -> 服务B(两个实例)
通过Postman工具验证
-
导入Postman的测试脚本postman.json(位于根目录下)
-
在Postman中执行目录结构下〔Nepxion〕->〔Discovery指南网关接口〕->〔Gateway网关调用示例〕,调用地址为http://localhost:5001/discovery-guide-service-a/invoke/gateway,相关的Header值已经预设,供开发者修改。执行通过Spring Cloud Gateway网关发起的调用,结果为如下格式
gateway
-> [ID=discovery-guide-service-a][UID=20220920-195533-038-9409-313-357][T=service][P=Nacos][H=192.168.0.107:3001][V=1.0][R=dev][E=env1][Z=zone1][G=discovery-guide-group][A=false][TID=48682.7508.15870951148324081][SID=49570.77.15870951148480000]
-> [ID=discovery-guide-service-b][UID=20220920-195533-209-3098-823-558][T=service][P=Nacos][H=192.168.0.107:4001][V=1.0][R=qa][E=env1][Z=zone2][G=discovery-guide-group][A=false][TID=48682.7508.15870951148324081][SID=49571.85.15870951189970000]
- 在Postman中执行目录结构下〔Nepxion〕->〔Discovery指南网关接口〕->〔Zuul网关调用示例〕,调用地址为http://localhost:5002/discovery-guide-service-a/invoke/zuul,相关的Header值已经预设,供开发者修改。执行通过Zuul网关发起的调用,结果为如下格式
zuul
-> [ID=discovery-guide-service-a][UID=20220920-195533-038-9409-313-357][T=service][P=Nacos][H=192.168.0.107:3001][V=1.0][R=dev][E=env1][Z=zone1][G=discovery-guide-group][A=false][TID=48682.7508.15870951148324081][SID=49570.77.15870951148480000]
-> [ID=discovery-guide-service-b][UID=20220920-195533-209-3098-823-558][T=service][P=Nacos][H=192.168.0.107:4001][V=1.0][R=qa][E=env1][Z=zone2][G=discovery-guide-group][A=false][TID=48682.7508.15870951148324081][SID=49571.85.15870951189970000]
- 上述步骤在下面每次更改规则策略的时候执行,并验证结果和规则策略的期望值是否相同
如下图所示
1. 每次执行最好只选择一项规则策略进行验证,以免引起理解上的混乱
2. 三个自定义的规则策略不在此验证范围内,需自行编写代码,参考6.x.x分支的相关代码,例如,MyGatewayStrategyRouteFilter
2017-2050 ©Nepxion Studio Apache License
- 如何对接Foundation基础平台实施收敛集成
- 如何对接DevOps运维平台实施流量管控
- 如何部署对接DevOps运维平台的控制台
- 如何对接DevOps运维平台执行半自动化蓝绿灰度发布
- 如何使用DevOps运维平台对接的公共接口
- 如何设计全链路智能编排高级蓝绿灰度发布界面
- 如何实现Windows10下GraalVM本地镜像化
- 蓝绿灰度发布
- 流量染色
- 隔离路由
- 故障转移
- 多活单元化
- 限流熔断降级权限
- 网关动态路由
- 可观测监控
- 如何操作配置中心
- 如何理解框架开关配置
- 如何理解规则策略里内容格式配置
- 如何操作网关和服务的蓝绿灰度发布规则策略配置
- 如何操作网关动态路由规则策略配置
- 如何操作Sentinel规则策略配置
- 如何实施规则策略配置和业务配置在配置中心的合并和分离
- 如何理解自动扫描目录
- 如何自定义流量管控
- 如何自定义实现组合式的防护
- 如何自定义高级配置订阅功能
- 如何自定义订阅框架事件
- 如何自定义解决业务自身跨线程上下文切换的问题
- 如何自定义重用框架内置的Swagger模块
- 如何自定义Header全链路传递
- 如何遵循Nepxion Discovery网关标准实现对其它网关全链路流量管控的二次开发
- 如何遵循Nepxion Discovery服务标准实现对消息队列等其它中间件全链路流量管控的二次开发