Skip to content

springboot横向扩展方案

横向扩展方案

  • 基于kubernetes运行多个springboot pod即可实现横向扩展效果

实验证明

实验说明

此实验基于kubernetes使用ClusterIP服务负载均衡实现多个springboot实例横向扩展。

实验配置

  • k8s master虚拟机centOS8-stream,4核(无限制CPU)+8G内存
  • 3台k8s worker虚拟机centOS8-stream,2核(最高4400MHz CPU频率)+4G内存
  • 1台k8s worker虚拟机centOS8-stream(专门用于运行springboot辅助性能测试目标,注意:k8s中每个springboot pod CPU被限制为500m毫核),8核(无限制CPU)+8G内存

实验结果

  • 1个springboot pod并且CPU被限制为500m毫核时,QPS约为1800次/s
  • 3个springboot pod并且CPU分别被限制为500m毫核时,请求被均衡分发到多个springboot pod中,QPS约为5400次/s

实验结论

  • 成功模拟横向扩展springboot会提升QPS,并且QPS提升和增加的springboot pod个数成正比。

实验步骤

  1. 搭建基于kubernetesspringboot性能测试协助目标并修改其CPU资源限制为500m毫核,详细搭建步骤请参考 链接

    yaml
    containers:
    - name: demo-perf-assistant-target-springboot
      image: registry.cn-hangzhou.aliyuncs.com/future-public/demo-perf-assistant-target-springboot
      env:
      - name: "JAVA_OPTS"
    	value: "-Xmx1536m -Xms1536m"
      resources:
    	limits:
    	  cpu: 500m
      imagePullPolicy: Always
  2. 搭建并配置jmeter分布式压测集群,详细搭建和配置步骤请参考 链接,注意:修改jmeter.jmx中的hosttarget-openrestytarget-springboot