您现在的位置:首页 >> 创意家居

15 分钟实现企业级应用即使如此上下线

发布时间:2025/11/03 12:25    来源:庆元家居装修网

分配的量试图其在进行时必要加压后日后检视较长星期量从而对取而代之范例进行时受保护。小量加压更是进一步如下绘出 4 简述:

绘出4. 小量服务项目加压更是进一步 QPS 与激活星期间的关系绘出

除了针对上述分析方法第一次呼叫模板极快所致使的无视下该线弊端,MSE 还有数了森林资源预建连接、延后特许、保证 Kubernetes 准备就绪检验通过以前顺利进行时服务项目特许和保证 Kubernetes 准备就绪检验通过以前顺利进行时服务项目加压等一整套即使如此下该线手段来满足各类不同分析方法的即使如此下该线无需求,整套建议如绘出 5 简述:

绘出5. MSE 即使如此下该线建议

如何用于 MSE 的即使如此上试用

每一次将展示阿里云透服务项目变速箱 MSE 在分析方法发布新闻时有数的即使如此上试用和服务项目加压技能最佳方法论。理论上分析方法的框架由 Zuul 因特网以及后端的透服务项目分析方法范例(Spring Cloud)构成。就其的后端呼叫信道有购物车分析方法 A,交易中所心分析方法 B,库存中所心分析方法 C,这些分析方法中所的服务项目之间通过 Nacos 特许中所心解决问题服务项目特许与发现。

以前提条件

开端 MSE 透服务项目治理

已成立 Kubernetes 战斗群,商量参考成立 Kubernetes 托管版战斗群[1]。 已贯通 MSE 透服务项目治理专业版,商量参考贯通 MSE 透服务项目治理[2]。

准备工作

同样,本方法论所用于的 Agent 目以前为止还在直方图中所,必须对分析方法 Agent 进行时直方图升级,升级文档:_detail/392373.html

分析方法作战在不同的 Region(暂时只能支持欧美国家 Region)商量用于对应的 Agent 下载重定向:

[regionId].oss-cn-[regionId].aliyuncs.com/2.7.1.3-mse-beta/

同样换成重定向中所的[RegionId],RegionId 是阿里云 RegionId。

例如 Region 北京 Agent 重定向为:

分析方法作战量框架绘出

绘出6. 展示分析方法作战框架

量冲击来源

在 spring-cloud-zuul 分析方法中所,如绘出 6 简述,其分别向 spring-cloud-a 的直方图版和较长星期版以 QPS 为 100 的速率同时进行时服务项目呼叫。

作战 Demo 分析方法程序

将下面的章节保存到一个文件中所,理论上取名为 mse-demo.yaml,并制订 kubectl apply -f mse-demo.yaml 以作战分析方法到提以前成立好的 Kubernetes 战斗群中所(同样因为 demo ;还有 CronHPA 目标,所以商量先行在战斗群中所配置 ack-kubernetes-cronhpa-controller 组件,就其在容器服务项目-Kubernetes->的产品->分析方法目录中所搜索组件在检验战斗群中所进行时配置),这里我们将要作战 Zuul,A, B 和 C 三个分析方法,其中所 A、B 两个分析方法分别作战一个基该线版和一个直方图版,B 分析方法的基该线版暂停了即使如此试用技能,直方图版开端了即使如此试用技能。C 分析方法开端了服务项目加压技能,其中所加压不间断为 120 秒。

# Nacos Server

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: nacos-server

name: nacos-server

spec:

replicas: 1

selector:

matchLabels:

app: nacos-server

template:

metadata:

labels:

app: nacos-server

spec:

containers:

- env:

- name: MODE

value: standalone

image: registry.cn-shanghai.aliyuncs.com/yizhan/nacos-server:latest

imagePullPolicy: Always

name: nacos-server

resources:

requests:

cpu: 250m

memory: 512Mi

dnsPolicy: ClusterFirst

restartPolicy: Always

# Nacos Server Service 配有

那是

apiVersion: v1

kind: Service

metadata:

name: nacos-server

spec:

ports:

- port: 8848

protocol: TCP

targetPort: 8848

selector:

app: nacos-server

type: ClusterIP

#入口 zuul 分析方法

那是

apiVersion: apps/v1

kind: Deployment

metadata:

name: spring-cloud-zuul

spec:

replicas: 1

selector:

matchLabels:

app: spring-cloud-zuul

template:

metadata:

annotations:

msePilotAutoEnable: "on"

msePilotCreateAppName: spring-cloud-zuul

labels:

app: spring-cloud-zuul

spec:

containers:

- env:

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

- name: LANG

value: C.UTF-8

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-zuul:1.0.1

imagePullPolicy: Always

name: spring-cloud-zuul

ports:

- containerPort: 20000

# A 分析方法 base 版,开端按照透电脑赤道全信道透记事

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: spring-cloud-a

name: spring-cloud-a

spec:

replicas: 2

selector:

matchLabels:

app: spring-cloud-a

template:

metadata:

annotations:

msePilotCreateAppName: spring-cloud-a

msePilotAutoEnable: "on"

labels:

app: spring-cloud-a

spec:

containers:

- env:

- name: LANG

value: C.UTF-8

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

- name: profiler.micro.service.tag.trace.enable

value: "true"

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-a:0.1-SNAPSHOT

imagePullPolicy: Always

name: spring-cloud-a

ports:

- containerPort: 20001

protocol: TCP

resources:

requests:

cpu: 250m

memory: 512Mi

livenessProbe:

tcpSocket:

port: 20001

initialDelaySeconds: 10

periodSeconds: 30

# A 分析方法 gray 版,开端按照透电脑赤道全信道透记事

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: spring-cloud-a-gray

name: spring-cloud-a-gray

spec:

replicas: 2

selector:

matchLabels:

app: spring-cloud-a-gray

strategy:

template:

metadata:

annotations:

alicloud.service.tag: gray

msePilotCreateAppName: spring-cloud -a

msePilotAutoEnable: "on"

labels:

app: spring-cloud-a-gray

spec:

containers:

- env:

- name: LANG

value: C.UTF-8

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

- name: profiler.micro.service.tag.trace.enable

value: "true"

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-a:0.1-SNAPSHOT

imagePullPolicy: Always

name: spring-cloud-a-gray

ports:

- containerPort: 20001

protocol: TCP

resources:

requests:

cpu: 250m

memory: 512Mi

livenessProbe:

tcpSocket:

port: 20001

initialDelaySeconds: 10

periodSeconds: 30

# B 分析方法 base 版,暂停即使如此试用技能

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: spring-cloud-b

name: spring-cloud-b

spec:

replicas: 2

selector:

matchLabels:

app: spring-cloud-b

strategy:

template:

metadata:

annotations:

msePilotCreateAppName: spring-cloud-b

msePilotAutoEnable: "on"

labels:

app: spring-cloud-b

spec:

containers:

- env:

- name: LANG

value: C.UTF-8

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

- name: micro.service.shutdown.server.enable

value: "false"

- name: profiler.micro.service.http.server.enable

value: "false"

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-b:0.1-SNAPSHOT

imagePullPolicy: Always

name: spring-cloud-b

ports:

- containerPort: 8080

protocol: TCP

resources:

requests:

cpu: 250m

memory: 512Mi

livenessProbe:

tcpSocket:

port: 20002

initialDelaySeconds: 10

periodSeconds: 30

# B 分析方法 gray 版,普通用户开端即使如此试用机能

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: spring-cloud-b-gray

name: spring-cloud-b-gray

spec:

replicas: 2

selector:

matchLabels:

app: spring-cloud-b-gray

template:

metadata:

annotations:

alicloud.service.tag: gray

msePilotCreateAppName: spring-cloud-b

msePilotAutoEnable: "on"

labels:

app: spring-cloud-b-gray

spec:

containers:

- env:

- name: LANG

value: C.UTF-8

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-b:0.1-SNAPSHOT

imagePullPolicy: Always

name: spring-cloud-b-gray

ports:

- containerPort: 8080

protocol: TCP

resources:

requests:

cpu: 250m

memory: 512Mi

lifecycle:

preStop:

exec:

command:

- /bin/sh

- '-c'

->-

wget 2>/tmp/null;sleep

30;exit 0

livenessProbe:

tcpSocket:

port: 20002

initialDelaySeconds: 10

periodSeconds: 30

# C 分析方法 base 版

那是

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: spring-cloud-c

name: spring-cloud-c

spec:

replicas: 2

selector:

matchLabels:

app: spring-cloud-c

template:

metadata:

annotations:

msePilotCreateAppName: spring-cloud-c

msePilotAutoEnable: "on"

labels:

app: spring-cloud-c

spec:

containers:

- env:

- name: LANG

value: C.UTF-8

- name: JAVA_HOME

value: /usr/lib/jvm/java-1.8-openjdk/jre

image: registry.cn-shanghai.aliyuncs.com/yizhan/spring-cloud-c:0.1-SNAPSHOT

imagePullPolicy: Always

name: spring-cloud-c

ports:

- containerPort: 8080

protocol: TCP

resources:

requests:

cpu: 250m

memory: 512Mi

livenessProbe:

tcpSocket:

port: 20003

initialDelaySeconds: 10

periodSeconds: 30

#HPA 配有

那是

apiVersion: autoscaling.alibabacloud.com/v1beta1

kind: CronHorizontalPodAutoscaler

metadata:

labels:

controller-tools.k8s.io: "1.0"

name: spring-cloud-b

spec:

scaleTargetRef:

apiVersion: apps/v1beta2

kind: Deployment

name: spring-cloud-b

jobs:

- name: "scale-down"

schedule: "0 0/5 * * * *"

targetSize: 1

- name: "scale-up"

schedule: "10 0/5 * * * *"

targetSize: 2

那是

apiVersion: autoscaling.alibabacloud.com/v1beta1

kind: CronHorizontalPodAutoscaler

metadata:

labels:

controller-tools.k8s.io: "1.0"

name: spring-cloud-b-gray

spec:

scaleTargetRef:

apiVersion: apps/v1beta2

kind: Deployment

name: spring-cloud-b-gray

jobs:

- name: "scale-down"

schedule: "0 0/5 * * * *"

targetSize: 1

- name: "scale-up"

schedule: "10 0/5 * * * *"

targetSize: 2

那是

apiVersion: autoscaling.alibabacloud.com/v1beta1

kind: CronHorizontalPodAutoscaler

metadata:

labels:

controller-tools.k8s.io: "1.0"

name: spring-cloud-c

spec:

scaleTargetRef:

apiVersion: apps/v1beta2

kind: Deployment

name: spring-cloud-c

jobs:

- name: "scale-down"

schedule: "0 2/5 * * * *"

targetSize: 1

- name: "scale-up"

schedule: "10 2/5 * * * *"

targetSize: 2

# zuul 因特网开端 SLB 暴露展现关键词

那是

apiVersion: v1

kind: Service

metadata:

name: zuul-slb

spec:

ports:

- port: 80

protocol: TCP

targetPort: 20000

selector:

app: spring-cloud-zuul

type: ClusterIP

# a 分析方法暴露 k8s service

那是

apiVersion: v1

kind: Service

metadata:

name: spring-cloud-a-base

spec:

ports:

- name: http

port: 20001

protocol: TCP

targetPort: 20001

selector:

app: spring-cloud-a

那是

apiVersion: v1

kind: Service

metadata:

name: spring-cloud-a-gray

spec:

ports:

- name: http

port: 20001

protocol: TCP

targetPort: 20001

selector:

app: spring-cloud-a-gray

# Nacos Server SLB Service 配有

那是

apiVersion: v1

kind: Service

metadata:

name: nacos-slb

spec:

ports:

- port: 8848

protocol: TCP

targetPort: 8848

selector:

app: nacos-server

type: LoadBalancer

结果解析一:即使如此试用机能

由于我们对 spring-cloud-b 跟 spring-cloud-b-gray 分析方法大多开端了均但会 HPA,虚拟每 5 分钟进行时一次均但会的扩缩容。

登录 MSE 控制台,转至透服务项目治理中所心->分析方法此表->spring-cloud-a->分析方法详情,从分析方法监控曲该线,我们可以看着 spring-cloud-a 分析方法的量信息:

gray 版的量在 pod 扩缩容的更是进一步中所立即难为误数为 0,无量受损失。未有打标的版由于暂停了即使如此试用机能,在 pod 扩缩容的更是进一步;还有 20 个从 spring-cloud-a 发到 spring-cloud-b 的立即浮现报难为,起因了立即量损耗。

结果解析二:服务项目加压机能

我们在 spring-cloud-c 分析方法开端了均但会 HPA 虚拟分析方法下该线更是进一步,每隔 5 分钟好好一次伸缩,在扩缩容时间尺度内第 2 分钟第 0 秒缩容到 1 个路由表,第 2 分钟第 10 秒扩容到 2 个路由表。

在加压分析方法的消费端 spring-cloud-b 开端服务项目加压机能。

在加压分析方法的服务项目有数端 spring-cloud-c 开端服务项目加压机能。加压不间断配有为 120 秒。

检视路由表的量,发现路由表量缓极快下跌。并且能看着路由表的加压开始和结束星期,以及相关的流血事件。

从上绘出可以看着开端加压机能的分析方法重启后的量但会随星期缓极快减小,在一些分析方法激活更是进一步中所必须预建连接池和文件系统等森林资源的极快激活场景,开端服务项目加压能必无需受保护分析方法激活更是进一步中所文件系统森林资源有序成立保障分析方法保证激活从而解决问题分析方法下该线的量即使如此。

建议则有 & 实操

更是多建议设计者细节,商量浏览者下方链接访客透服务项目分析方法如何解决问题即使如此上试用主题电视直播视频回放:

本文为阿里云原创章节,无权允许不得转贴。

长春看牛皮癣哪家医院比较好
漳州看白癜风去哪里比较好
武汉看痛风去哪里好
卵巢早衰能治疗好吗
早泄的预防有哪些

上一篇: 混合办公大楼模式成新趋势? 做好准备了吗

下一篇: 图像清晰、时可稳定!“天宫第二课”音画系统优化升级

友情链接