当前位置: 首页 > news >正文

kubesphere中间件部署

微服务部署前中间件部署

一、MySQL部署

1.1 使用Docker实现MySQL主从复制

docker run -p 3307:3306 --name mysql-master \
-v /mydata/mysql/master/log:/var/log/mysql \
-v /mydata/mysql/master/data:/var/lib/mysql \
-v /mydata/mysql/master/conf:/etc/mysql \
-e MySQL_ROOT_PASSWORD=root \
-d mysql:5.7 
vim /mydata/mysql/master/conf/my.cnf[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

skip-name-resolve一定要加,不然连接mysql 会慢

server_id=1
log_bin=mysql-bin
read-only=0
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wmsreplicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
docker run -p 3317:3306 --name mysql-slaver-01 \
-v /mydata/mysql/slaver/log:/var/log/mysql \
-v /mydata/mysql/slaver/data:/var/lib/mysql \
-v /mydata/mysql/slaver/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
vim /mydata/mysql/slaver/conf/my.cnf[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
server_id=2
log_bin=mysql-bin
read-only=1
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wmsreplicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
docker restart mysql-master mysql-slaver-01

为master授权用户实现数据同步

进入master容器
docker exec -it mysql /bin/bash访问mysql数据库
mysql -uroot -proot授权root可以远程访问,为了方便连接使用
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;添加用于同步用户
grant replication slave on *.* to 'backup'@'%' identified by '123456';查看master状态
show master status\G;

配置slaver同步master数据

进入slaver容器
docker exec -it mysql-slaver-01 /bin/bash访问mysql数据库
mysql -uroot -proot授权root可以远程访问,为了方便连接使用
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;设置主库连接
changer master to
master_host='192.168.56.10'
master_user='backup'
master_password='123456'
master_log_file='mysql-bin.000001'
master_log_pos=0
master_port=3307启动从库同步
start slave;查看从库的状态
show slave status\G;

可以使用kubesphere快速完成MySQL部署

  • 有状态服务抽取配置为ConfigMap
  • 有状态服务必须使用PVC持久化存储数据
  • 服务集群内访问使用DNS提供稳定的域名

1.2 通过KubeSphere实现MySQL主从复制部署

1.2.1 持久存储准备

1.2.1.1 master节点存储

在这里插入图片描述

1.2.1.2 slave节点存储

在这里插入图片描述

1.2.2 配置文件准备

1.2.2.1 master节点配置文件

在这里插入图片描述

[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolveserver_id=1
log_bin=mysql-bin
read-only=0
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wmsreplicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

1.2.2.2 slave节点配置文件

在这里插入图片描述

[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolveserver_id=2
log_bin=mysql-bin
read-only=1
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wmsreplicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

1.2.3 mysql管理员root用户密码

在这里插入图片描述

1.2.4 master部署

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

# dig -t a mysql-master.sangomall.svc.cluster.local. @10.96.0.10

1.2.5 slaver部署

在这里插入图片描述

在这里插入图片描述

# dig -t a mysql-slave.sangomall.svc.cluster.local. @10.96.0.10

1.2.6 MySQL主从复制

1.2.6.1 MySQL Master节点授权

在这里插入图片描述

mysql>grant replication slave on *.* to 'backup'@'%' identified by '123456';
mysql>show master status\G;

1.2.6.2 MySQL Slave配置

在这里插入图片描述

mysql>change master to
master_host='mysql-master.sangomall.svc.cluster.local.',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin.000003',
master_log_pos=439,
master_port=3306;
mysql>start slave;
mysql> show slave status\G;
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: mysql-master.sangomall.svc.cluster.local.Master_User: backupMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000003Read_Master_Log_Pos: 439Relay_Log_File: mysql-slave-v1-0-relay-bin.000002Relay_Log_Pos: 652Relay_Master_Log_File: mysql-bin.000003Slave_IO_Running: Yes  一定要为YesSlave_SQL_Running: Yes  一定要为YesReplicate_Do_DB:

1.2.6.3 验证

在这里插入图片描述

二、Redis部署

2.1 准备配置PVC

在这里插入图片描述

2.2 准备配置文件

在这里插入图片描述

2.3 部署Redis

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# dig -t a redis.sangomall.svc.cluster.local. @10.96.0.10

在这里插入图片描述

三、ES&Kibana部署

3.1 elasticsearch pvc准备

在这里插入图片描述

3.2 elasticsearch 配置文件准备

在这里插入图片描述

http.host: 0.0.0.0
discovery.type: single-node
ES_JAVA_OPTS: -Xms64m -Xmx512m

3.3 elasticsearch 部署

在这里插入图片描述
在这里插入图片描述

3.4 kibana部署

ELASTICSEARCH_HOSTS=http://elasticsearch.sangomall.svc.cluster.local.:9200

在这里插入图片描述
在这里插入图片描述

3.5 kibana访问

lb.kubesphere.io/v1alpha1: openelb
protocol.openelb.kubesphere.io/v1alpha1: layer2
eip.openelb.kubesphere.io/v1alpha2: layer2-eip
[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146
reg-test        A       192.168.10.72
kibana  A       192.168.10.73
[root@dnsserver ~]# systemctl restart named

在这里插入图片描述

四、RabbitMQ部署

4.1 RabbitMQ持久存储准备 PVC

在这里插入图片描述

4.2 RabbitMQ部署

在这里插入图片描述

在这里插入图片描述

4.3 RabbitMQ访问

在这里插入图片描述

五、Nacos部署

5.1 Nacos Server数据持久存储 PVC

在这里插入图片描述

5.2 Nacos Server部署

在这里插入图片描述

MODE: standalone

在这里插入图片描述

# dig -t a nacos-server.sangomall.svc.cluster.local. @10.96.0.10

5.3 Nacos Server访问

在这里插入图片描述

[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146
nacos-server    A       192.168.10.72 添加主机记录
[root@dnsserver ~]# systemctl restart named

六、链路跟踪服务 zipkin

6.1 依赖服务检查

在这里插入图片描述

# dig -t a elasticsearch.sangomall.svc.cluster.local. @10.96.0.10

6.2 zipkin部署

在这里插入图片描述

STORAGE_TYPE: elasticsearch
ES_HOSTS: elasticsearch.sangomall.svc.cluster.local.:9200
# dig -t a zipkin-server.sangomall.svc.cluster.local. @10.96.0.10

6.3 zipkin访问

在这里插入图片描述

[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146zipkin-server    A       192.168.10.72 添加主机记录
[root@dnsserver ~]# systemctl restart named

七、sentinel 流量卫兵

7.1 获取容器镜像

在这里插入图片描述

7.2 sentinel部署

在这里插入图片描述

bladex/sentinel-dashboard:latest
#  dig -t a sentinel-server.sangomall.svc.cluster.local. @10.96.0.10

7.3 sentinel访问

在这里插入图片描述

[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146sentinel-server    A       192.168.10.72 添加主机记录
[root@dnsserver ~]# systemctl restart named

八、Skywalking部署

8.1 获取容器镜像方法及ES服务确认

8.1.1 获取Skywalking oap server及Skywalking ui容器镜像

在这里插入图片描述

8.1.2 elasticsearch服务确认

在这里插入图片描述

elasticsearch.sangomall.svc.cluster.local.

8.2 Skywalking oap server部署

CPU及内存限制要注意:CPU 500m至1000m,内存 100M至2000M

在这里插入图片描述

SW_STORAGE  elasticsearchSW_STORAGE_ES_CLUSTER_NODES    elasticsearch.sangomall.svc.cluster.local.:9200

在这里插入图片描述

# dig -t a skywalking-oap-server.sangomall.svc.cluster.local. @10.96.0.10

8.3 Skywalking ui部署

在这里插入图片描述

SW_OAP_ADDRESS: http://skywalking-oap-server.sangomall.svc.cluster.local.:12800

在这里插入图片描述

# dig -t a skywalking-ui.sangomall.svc.cluster.local. @10.96.0.10

8.4 Skywalking ui访问

在这里插入图片描述

[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146
reg-test        A       192.168.10.72
kibana          A       192.168.10.72
rabbitmq        A       192.168.10.72
nacos-server    A       192.168.10.72
zipkin-server   A       192.168.10.72
sentinel-server A       192.168.10.72
skywalking-ui   A       192.168.10.72
[root@dnsserver ~]# systemctl restart named

九、RocketMQ部署

9.1 rocketmq namesrv存储准备

在这里插入图片描述

9.2 rocketmq namesrv部署

在这里插入图片描述

启动命令:/bin/bash参数:mqnamesrv
环境变量
JAVA_OPT_EXT: -Xms512M -Xmx512M -Xmn128m
dig -t a  rocketmq-namesrv.sangomall.svc.cluster.local. @10.96.0.10

9.3 rocketmq broker存储准备

在这里插入图片描述

9.4 rocketmq broker部署

在这里插入图片描述

启动命令:
/bin/bash参数:
mqbroker,-n,rocketmq-namesrv.sangomall.svc.cluster.local.:9876
JAVA_OPT_EXT: -server -Xms128m -Xmx128m -Xmn128m
NAMESRV_ADDR: rocketmq-namesrv.sangomall.svc.cluster.local.:9876

9.5 rocketmq dashboard部署

在这里插入图片描述

JAVA_OPTS: -Drocketmq.namesrv.addr=rocketmq-namesrv.sangomall.svc.cluster.local.:9876

9.6 rocketmq dashboard创建应用路由

在这里插入图片描述

9.7 rocketmq dashboard访问

[root@dnsserver ~]# cat /var/named/msb.com.zone
$TTL 1D
@       IN SOA  msb.com admin.msb.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum
@       NS      ns.msb.com.
ns      A       192.168.10.145
harbor  A       192.168.10.146
reg-test        A       192.168.10.72
kibana          A       192.168.10.72
rabbitmq        A       192.168.10.72
nacos-server    A       192.168.10.72
zipkin-server   A       192.168.10.72
sentinel-server A       192.168.10.72
skywalking-ui   A       192.168.10.72
rocketmq-dashboard      A       192.168.10.72
[root@dnsserver ~]# systemctl restart named

在这里插入图片描述

相关文章:

kubesphere中间件部署

微服务部署前中间件部署 一、MySQL部署 1.1 使用Docker实现MySQL主从复制 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql/master/log:/var/log/mysql \ -v /mydata/mysql/master/data:/var/lib/mysql \ -v /mydata/mysql/master/conf:/etc/mysql \ -e My…...

使用 AWS S3 SDK 访问 COS-腾讯云国际站代充

腾讯云国际站对象存储(Cloud Object Storage,COS)提供了 AWS S3 兼容的 API,因此当用户的数据从 S3 迁移到 COS 之后,只需要进行简单的配置修改,即可让客户端应用轻松兼容 COS 服务。下面unirech小编主要介…...

c语言每日一练(15)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,上学期间将看学业情况更新。 五道选择题: 1、程序运行的结果…...

如何利用软文推广进行SEO优化(打造优质软文,提升网站排名)

在当今的互联网时代,SEO优化成为了网站推广的关键。而软文推广作为一种有效的推广方式,其优点不仅仅局限于SEO,还可以带来更多的曝光和用户流量。本文将深入探讨如何做好软文推广,从而提升网站排名和流量。 了解目标受众群体 内容…...

Java线程池ExecutorService和Executors应用(Spring Boot微服务)

记录:476 场景:在Spring Boot微服务中使用ExecutorService管理Java线程池。使用Executors创建线程池。使用Runnable接口实现类提交线程任务到线程池执行。 版本:JDK 1.8,Spring Boot 2.6.3。 1.线程和线程池基础 JDK自带线程和线程池包位…...

机器学习笔记之最优化理论与方法(八)无约束优化问题——常用求解方法(中)

机器学习笔记之最优化理论与方法——基于无约束优化问题的常用求解方法[中] 引言回顾:最速下降算法的缺陷经典牛顿法基本介绍经典牛顿法的问题经典牛顿法的优点与缺陷经典牛顿法示例 修正牛顿法介绍拟牛顿法拟牛顿法的算法过程 矩阵 B k 1 \mathcal B_{k1} Bk1​的…...

Django系列:Django简介与MTV架构体系概述

Django系列 Django简介与MTV架构体系概述 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/132890054 【介…...

锐捷交换机WEB管理系统EXCU_SHELL密码信息泄漏漏洞

一、漏洞简介 锐捷交换机 WEB 管理系统 EXCU_SHELL存在密码信息泄露漏洞,攻击者可从漏洞获取到管理员账号密码,从而以管理员权限登录。 二、影响版本 锐捷交换机 WEB 管理系统 三、资产测绘 hunterweb.body"img/free_login_ge.gif"&&…...

线性代数(六) 线性变换

前言 《线性空间》定义了空间,这章节来研究空间与空间的关联性 函数 函数是一个规则或映射,将一个集合中的每个元素(称为自变量)映射到另一个集合中的唯一元素(称为因变量)。 一般函数从 “A” 的每个元…...

Python基础运算分享

Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 19 # 加法>>>print 1.3-4 # 减法>>>print 3*5 …...

【MySQL】mysql中有哪几种类型的备份技术?它们各自有什么优缺点?

为什么要备份?备份类型(从类型的角度)备份技术(从技术手段的角度)不同备份方法的比较感谢 💖 为什么要备份? 数据库或它所在的平台可能会出现问题,这时候数据库中的数据可能就遭到了…...

5基于pytorch的多目标粒子群算法,MOPSO,引导种群逼近真实Pareto前沿,算法运行结束后将外部存档中粒子作为获得的Pareto最优解近似。

基于pytorch的多目标粒子群算法,MOPSO,引导种群逼近真实Pareto前沿,算法运行结束后将外部存档中粒子作为获得的Pareto最优解近似。程序已调通,可以直接运行。 5pytorch多目标粒子群算法最优解5pytorch多目标粒子群算法最优解 (xiaohongshu.co…...

002 Linux 权限

前言 本文将会向您介绍关于linux权限方面的内容,包括文件类型,如何切换用户、基本权限、粘滞位等等 Linux具体的用户 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的…...

【Java 基础篇】Java可变参数:灵活处理不定数量的方法参数

在Java编程中,可变参数是一项强大的功能,它允许你编写更加灵活的方法,接受不定数量的参数。本文将详细解释Java可变参数的用法、语法以及最佳实践。 什么是可变参数? 可变参数是Java 5引入的一项功能,它允许你在方法…...

“网站建设流程详解:从概念到上线的每个细节“

以下是网站建设流程的详细步骤,从概念到上线的每个细节: 确定网站目标和定位:明确网站的主题和目标,根据目标受众和市场定位来决定网站的内容和设计风格。考虑网站的目的、目标受众、行业或领域等方面,以及网站的定位…...

DC/DC开关电源学习笔记(七)低压大电流DC/DC变换技术

低压大电流DC/DC变换技术 1. 无暂态要求的低压大电流DC/DC变换技术2. 负载极其快速变化的低压大电流DC/DC变换技术2.1 非隔离型 VRM2.2 隔离型VRM低压大电流高功率 DC/DC 变换技术,已从前些年的 3.3V 降至现在的 1.0V 左右,电流目前已可达到几十安至几百安。同时,电源的输出指标…...

XUbuntu22.04之查找进程号pidof、pgrep总结(一百九十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

BI与数据治理以及数据仓库有什么区别

你可能已经听说过BI、数据治理和数据仓库这些术语,它们在现代企业中起着重要的作用。虽然它们都与数据相关,但它们之间有着明显的区别和各自独特的功能。数聚将详细探讨BI(商业智能)、数据治理和数据仓库之间的区别,帮…...

java---jar详解

一、help C:\Users\lichf1>jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项:-c 创建新档案-t 列出档案目录-x 从档案中提取指定的 (或所有) 文件-u 更新现有档案-v 在标准输出中生成详细输出-f 指定档案文件名-m…...

uni-app 新增 微信小程序之新版隐私协议

一、manifest.json中配置 "__usePrivacyCheck__": true 二、编写封装后的组件 <template><view class"privacy" v-if"showPrivacy"><view class"content"><view class"title">隐私保护指引</…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...