干货,搞定 Istio + SkyWalking + Spring Boot 实战环境

微服务架构被企业级开发广泛采用,而随着业务迅速发展,服务数量也呈现爆炸式的增长。日常开发过程中一套测试环境可能包含成千上百个服务。在协作过程中等待环境、抢占环境、验证冲突已成为常态。而长期发展导致的技术债和基础架构复杂度又非常高,复制多套环境存在较高难度,工程师日常协作只能在等待中苦不堪言。

在 Zadig V1.11.0 版本中推出了环境自测模式,工程师可以基于一套含全量服务的基准环境低成本搭建独享的开发者子环境。利用 Istio 和 Tracing 组件的链路追踪和流量动态路由的能力,实现开发者子环境与基准环境联调的目的,从而解决大规模微服务下工程师被环境问题阻塞的情况。

下面以服务网格组件  Istio [1]  + 企业采用率非常广泛的  SkyWalking [2] + 典型微服务架构 Spring Boot 项目 PiggyMetrics [3] 为例,演示如何使用 Zadig 自测模式实现工程师日常自测联调过程。

项目简介

本例 PiggyMetrics [4] 项目,架构如下:

服务配置文件参考 YAML [5],服务组成如下:

8 个 Spring Boot 应用程序:

  • account-service

  • auth-service

  • config-service (主要管理服务依赖的 configmap 和 secret 等配置)

  • gateway

  • monitoring-service

  • notification-service

  • registry-service

  • statistics-service

4 个 MongoDB 实例:

  • account-mongodb

  • auth-mongodb

  • notification-mongodb

  • statistics-mongodb

1 个 RabbitMq:

  • rabbitmq

对于 statistics-service 服务开发者需要自测联调,可以基于基准环境拉起一套含有 config-service' 和 statistics-service' 服务的子环境,通过访问基准环境的地址,并且在请求中加上子环境相应的 header 信息可实现访问子环境的能力。效果图如下:

前置准备工作

基础组件信息

  • Kubernetes 版本:v1.20.11(Node 2*8c16g)

  • Zadig 版本:1.11.0+

  • Skywalking 版本:v8.8.1

  • ElasticSearch 版本:7.5.1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值