kubernets基础-ingress详细介绍
文章目录
- 什么是Ingress
- Ingress详细说明
- Ingress示例
 
- Ingress控制器
- Ingress控制器的工作原理
- Ingress控制器的特点
- 常见的Ingress控制器
 
- Ingress关联Ingress控制器
- 一、Ingress资源对象
- 二、Ingress控制器
- 三、Ingress与Ingress控制器的关联方式
- 四、注意事项
 
- 多实例部署
- 一、Ingress多实例配置概述
- 二、配置关键启动参数
- 三、创建IngressClass资源
- 四、创建Ingress资源并指定IngressClass
- 五、验证配置
- 六、注意事项
 
- 集群外部访问Ingress
- 一、部署Ingress控制器
- 二、创建Ingress资源
- 三、配置域名解析
- 四、验证访问
- 示例
 
- Ingress访问service
 
什么是Ingress
Ingress是Kubernetes中一种对集群中服务的外部访问进行管理的API对象,它典型的访问方式是HTTP和HTTPS。Ingress可以提供负载均衡、SSL和基于名称的虚拟托管等功能。不过,要实现Ingress的功能,必须部署一个Ingress控制器(如ingress-nginx)来满足Ingress资源的要求,仅创建Ingress资源本身是无效的。
Ingress公开了从集群外部到集群内部服务的HTTP和HTTPS路由,这些路由由Ingress资源上定义的规则来控制。可以将Ingress配置为提供服务外部可访问的URL、负载均衡流量、SSL/TLS,以及基于名称的虚拟主机等功能。
 
以下是Ingress的详细说明及示例:
Ingress详细说明
-  工作原理: 
 Ingress控制器通常负责通过负载均衡器来实现Ingress,它也可以配置边缘路由器或其他前端来帮助处理流量。Ingress不会公开任意端口或协议,如果需要将HTTP和HTTPS以外的服务公开到Internet,通常使用Service.Type=NodePort或Service.Type=LoadBalancer类型的服务。
-  功能特点: - 负载均衡:Ingress可以根据定义的规则将外部流量分发到集群内部的不同服务上。
- SSL/TLS:Ingress可以配置SSL/TLS证书,为外部访问提供加密的HTTPS连接。
- 基于名称的虚拟托管:Ingress支持将不同的域名或URL路径映射到集群内部的不同服务上,实现基于名称的虚拟托管。
 
-  Ingress规则: 
 Ingress规则定义了如何将外部流量路由到集群内部的服务。规则可以基于域名、URL路径、请求头等信息进行匹配,并将匹配的流量转发到指定的后端服务。
Ingress示例
以下是一个使用Nginx Ingress控制器的Ingress资源示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: my-ingressannotations:nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:rules:- host: www.example.comhttp:paths:- path: /service1(/|$)(.*)pathType: Prefixbackend:service:name: service1port:number: 80- path: /service2(/|$)(.*)pathType: Prefixbackend:service:name: service2port:number: 80
在这个示例中,定义了一个名为my-ingress的Ingress资源,它有两个规则:
- 当访问www.example.com/service1时,流量将被转发到名为service1的后端服务上。
- 当访问www.example.com/service2时,流量将被转发到名为service2的后端服务上。
注意:nginx.ingress.kubernetes.io/rewrite-target注解用于重写目标URL,/$2表示将匹配到的第二个捕获组作为重写后的目标URL。在这个示例中,由于路径中使用了正则表达式捕获组,因此需要进行重写以确保请求能够正确转发到后端服务。
另外,pathType字段指定了路径的匹配类型,这里使用了Prefix类型,表示基于路径前缀进行匹配。
这个示例展示了如何使用Ingress资源来定义外部流量到集群内部服务的路由规则,并实现了基于域名的虚拟托管。
Ingress控制器
Ingress控制器是Kubernetes集群中的一个组件,它负责实现Ingress资源定义的路由规则。Ingress资源本身只是定义了一系列规则,指明了外部流量如何被转发到集群内的服务上,但实际的流量转发工作是由Ingress控制器来完成的。
Ingress控制器的工作原理
-  监听Ingress资源变化:Ingress控制器通过Kubernetes的API服务器监听集群中Ingress资源的变化。当Ingress资源被创建、更新或删除时,Ingress控制器会感知到这些变化。 
-  解析Ingress规则:Ingress控制器读取Ingress资源中定义的规则,这些规则通常包括域名、路径和后端服务等信息。Ingress控制器会根据这些规则生成相应的配置。 
-  生成配置并应用:Ingress控制器根据解析后的规则生成配置,这些配置可能是Nginx、HAProxy或其他反向代理软件的配置文件。然后,Ingress控制器将这些配置应用到其管理的反向代理实例上。 
-  流量转发:当外部流量到达Ingress控制器时,它会根据生成的配置将流量转发到相应的后端服务上。这通常涉及HTTP或HTTPS协议的解析、路由决策和负载均衡等过程。 
Ingress控制器的特点
-  可扩展性:Ingress控制器可以支持多种反向代理软件,如Nginx、HAProxy等,从而提供了灵活的配置选项和性能优化空间。 
-  动态更新:由于Ingress控制器通过Kubernetes的API服务器监听Ingress资源的变化,因此它可以动态地更新配置而无需重启服务。 
-  安全性:Ingress控制器可以配置SSL/TLS证书,为外部流量提供加密传输。此外,它还可以实现身份认证和授权等功能,增强集群的安全性。 
-  高可用性:Ingress控制器通常部署为多个副本,以确保在单个节点故障时仍能继续提供服务。 
常见的Ingress控制器
-  Nginx Ingress Controller:这是最常用的Ingress控制器之一,它基于Nginx反向代理软件构建,提供了高性能和丰富的配置选项。 
-  Traefik Ingress Controller:Traefik是一个易于使用的Ingress控制器,它支持多种反向代理后端,并提供了丰富的监控和日志功能。 
-  HAProxy Ingress Controller:基于HAProxy构建的Ingress控制器,提供了高性能和可靠性。 
-  Istio Ingress Gateway:Istio是一个服务网格解决方案,它提供了自己的Ingress Gateway组件,用于处理外部流量并将其转发到集群内的服务上。 
总的来说,Ingress控制器是Kubernetes集群中处理外部流量访问的关键组件之一。通过配置Ingress资源和Ingress控制器,可以轻松地实现复杂的路由规则和流量管理策略。
Ingress关联Ingress控制器
在Kubernetes集群中,Ingress与Ingress控制器的关联是通过Ingress资源对象与Ingress控制器之间的协作实现的。以下详细解释Ingress如何关联Ingress控制器:
一、Ingress资源对象
Ingress资源对象是Kubernetes中的一个API对象,它定义了外部用户如何访问集群内部运行的服务。Ingress资源对象通常包含以下关键信息:
- 规则(Rules):指定了哪些域名和路径应该被转发到哪些后端服务上。
- 后端服务(Backend Services):定义了Ingress规则所指向的具体服务,通常包括服务名称和端口号。
二、Ingress控制器
Ingress控制器是一个运行在Kubernetes集群中的组件,它负责监听Ingress资源对象的变化,并根据这些变化动态地更新其内部的配置,以实现流量的路由和转发。Ingress控制器通常具备以下功能:
- 监听Ingress资源变化:通过Kubernetes的API服务器实时感知Ingress资源对象的变化。
- 解析Ingress规则:读取Ingress资源对象中定义的规则,并解析为可执行的配置。
- 流量转发:根据解析后的规则,将外部流量转发到相应的后端服务上。
三、Ingress与Ingress控制器的关联方式
- 定义Ingress资源对象: - 在Kubernetes集群中,首先需要定义一个Ingress资源对象,该对象包含了外部访问集群内部服务的规则。
- 可以通过YAML文件或其他方式定义Ingress资源对象,并使用kubectl apply命令将其应用到集群中。
 
- 部署Ingress控制器: - 在Kubernetes集群中部署Ingress控制器,这通常是通过部署一个Pod或DaemonSet来实现的。
- Ingress控制器会监听集群中Ingress资源对象的变化,并根据这些变化动态地更新其配置。
 
- 自动关联: - 一旦Ingress资源对象和Ingress控制器都被正确部署到Kubernetes集群中,它们之间就会自动建立关联。
- Ingress控制器会根据Ingress资源对象中定义的规则,将外部流量转发到相应的后端服务上。
 
- 验证配置: - 为了确保Ingress和Ingress控制器之间的关联正确无误,可以通过查看Ingress控制器的日志或使用kubectl get ingress命令来验证Ingress资源对象的状态和配置。
 
- 为了确保Ingress和Ingress控制器之间的关联正确无误,可以通过查看Ingress控制器的日志或使用
四、注意事项
- Ingress控制器的实现和功能可能会因所使用的具体控制器(如Nginx Ingress Controller、Traefik Ingress Controller等)而有所不同。因此,在部署和使用Ingress时,需要参考相应控制器的文档和配置指南。
- Ingress控制器通常需要配置为使用NodePort、LoadBalancer或IngressClass等类型的服务来暴露外部访问的入口点。这取决于集群的部署环境和网络配置。
综上所述,Ingress与Ingress控制器的关联是通过在Kubernetes集群中定义Ingress资源对象并部署Ingress控制器来实现的。它们之间的协作使得外部用户可以通过定义的规则和路径访问集群内部的服务。
多实例部署
在Kubernetes(K8s)集群中配置Ingress多实例,通常是为了实现更复杂的路由规则、负载均衡或提供不同的服务访问入口。以下是在K8s中配置Ingress多实例的详细步骤:
一、Ingress多实例配置概述
Ingress是K8s中用于管理外部访问集群内部服务的资源对象。通过Ingress,可以配置基于主机名和路径的路由规则,将外部请求定向到集群内部的服务。为了实现Ingress多实例,需要为每个实例配置唯一的标识,并确保它们不会相互干扰。
二、配置关键启动参数
-  不同命名空间下的多实例: - 如果要在不同的命名空间下部署多个Ingress实例,可以通过设置controller-class和ingress-class参数来区分它们。这些参数在Ingress控制器的启动参数中指定,并确保它们的唯一性。
- 示例配置(YAML格式):
 args:- /nginx-ingress-controller- --controller-class=k8s.io/prod-internal # 控制器类,必须唯一- --ingress-class=prod-internal # ingress类,必须唯一
- 如果要在不同的命名空间下部署多个Ingress实例,可以通过设置
-  相同命名空间下的多实例: - 如果需要在同一个命名空间下部署多个Ingress实例,除了设置controller-class和ingress-class参数外,还需要设置election-id参数来确保选举的唯一性。
- 示例配置(YAML格式):
 args:- /nginx-ingress-controller- --election-id=ingress-controller-leader-prod-internal # 选举ID,必须唯一- --controller-class=k8s.io/prod-internal # 控制器类,必须唯一- --ingress-class=prod-internal # ingress类,必须唯一
- 如果需要在同一个命名空间下部署多个Ingress实例,除了设置
三、创建IngressClass资源
为每个Ingress实例创建一个唯一的IngressClass资源。IngressClass资源定义了Ingress控制器的相关信息,包括控制器名称和参数等。
示例配置(YAML格式):
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:name: prod-internal
spec:controller: k8s.io/prod-internal
四、创建Ingress资源并指定IngressClass
在创建Ingress资源时,通过ingressClassName字段指定要使用的IngressClass。这样,Ingress资源就会由对应的Ingress控制器管理。
示例配置(YAML格式):
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: testnamespace: prod
spec:ingressClassName: prod-internalrules:- host: "foo.bar.com"http:paths:- path: /testpathType: Prefixbackend:service:name: xwd-socialport:number: 80
五、验证配置
-  检查Ingress和IngressClass: - 使用kubectl get ingress和kubectl get ingressclass命令检查Ingress和IngressClass资源是否已正确创建。
 
- 使用
-  访问测试: - 根据配置的域名和路径访问Ingress服务,验证请求是否正确路由到后端服务。
 
六、注意事项
- 唯一性:确保每个Ingress实例的controller-class、ingress-class和(在相同命名空间下)election-id参数是唯一的,以避免冲突。
- 资源隔离:如果可能的话,将不同的Ingress实例部署在不同的命名空间中,以减少配置上的复杂性。
- 监控和日志:为Ingress控制器配置监控和日志记录,以便及时发现和解决问题。
通过以上步骤,您可以在K8s集群中成功配置多个Ingress实例,实现更复杂的路由规则和负载均衡策略。
集群外部访问Ingress
在Kubernetes集群中,Ingress提供了一种管理外部访问流量的方式,允许将外部HTTP和HTTPS流量路由到集群内部的服务。要使集群外部能够访问Ingress,通常需要按照以下步骤进行配置:
一、部署Ingress控制器
Ingress控制器是实际实现Ingress资源定义的组件,它负责监听Ingress资源的变化,并根据定义更新负载均衡器或反向代理服务器的配置。常见的Ingress控制器包括Nginx Ingress Controller、Traefik等。
- 选择Ingress控制器:根据集群环境和需求选择合适的Ingress控制器。
- 安装Ingress控制器:按照Ingress控制器的官方文档进行安装。通常,这包括下载相应的YAML文件并应用到Kubernetes集群中。
二、创建Ingress资源
Ingress资源定义了从集群外部到内部服务的路由规则。
- 定义Ingress规则:在Ingress资源中指定想要暴露的服务、路由规则、TLS配置等。
- 应用Ingress资源:将定义好的Ingress资源应用到Kubernetes集群中。
三、配置域名解析
为了使外部用户能够通过域名访问Ingress,需要在域名解析服务商处配置解析记录,将域名指向集群的Ingress IP地址。这通常涉及以下步骤:
- 获取Ingress IP地址:在Kubernetes集群中,Ingress控制器通常会创建一个负载均衡器,并分配一个IP地址。需要获取这个IP地址。
- 配置域名解析:在域名解析服务商的网站上,为域名添加一条A记录或CNAME记录,将域名指向Ingress IP地址。
四、验证访问
完成以上步骤后,可以通过访问配置的域名来验证Ingress是否按预期工作。如果一切正常,应该能够访问到集群内部的服务。
示例
以下是一个使用Nginx Ingress控制器和Ingress资源的示例:
-  部署Nginx Ingress控制器: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-x.y.z/deploy/static/provider/cloud/deploy.yaml其中 x.y.z是Nginx Ingress控制器的版本号,需要根据实际情况进行替换。
-  创建Ingress资源: apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: my-ingress spec:rules:- host: myapp.example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: my-serviceport:number: 80在这个示例中,定义了一个名为 my-ingress的Ingress资源,它将myapp.example.com域名的流量路由到名为my-service的后端服务上。
-  配置域名解析:在域名解析服务商处,为 myapp.example.com添加一条A记录,将域名指向Ingress控制器的IP地址。
-  验证访问:在浏览器中访问 myapp.example.com,应该能够访问到my-service服务提供的内容。
 通过以上步骤,集群外部的用户就可以通过域名访问到Kubernetes集群内部的服务了。
Ingress访问service
Ingress访问Service的流程
 当外部用户通过域名访问Ingress时,Ingress控制器的工作流程如下:
- 接收请求:Ingress控制器监听在指定的端口(通常是80和443)上,接收来自外部的HTTP和HTTPS请求。
- 匹配规则:Ingress控制器根据Ingress资源中定义的规则,匹配请求的域名和路径。
- 转发请求:一旦匹配到规则,Ingress控制器会将请求转发到对应的后端Service上。这通常涉及将请求转发到Service的ClusterIP,然后由Service将请求进一步分发到其背后的Pod上。
- 处理响应:Pod处理请求并生成响应,响应通过Service、Ingress控制器返回给外部用户。
相关文章:
 
kubernets基础-ingress详细介绍
文章目录 什么是IngressIngress详细说明Ingress示例 Ingress控制器Ingress控制器的工作原理Ingress控制器的特点常见的Ingress控制器 Ingress关联Ingress控制器一、Ingress资源对象二、Ingress控制器三、Ingress与Ingress控制器的关联方式四、注意事项 多实例部署一、Ingress多…...
 
jenkins部署Maven和NodeJS项目
在 Java 项目开发中,项目的编译、测试、打包等是比较繁琐的,属于重复劳动的工作,浪费人力和时间成本。以往开发项目时,程序员往往需要花较多的精力在引用 jar 包搭建项目环境上,跨部门甚至跨人员之间的项目结构都有可能…...
在unity资源中发现无效引用
本文主要解决在不打开unity的情况下搜索出无效引用的资源的方法 1. 概述 一般只要遍历一下目录里所有资源,判空一下就好了但有些情况下,不希望打开unity, 尤其希望是在资源整合时,想更快验证资源的合法性, 这对合并提交及出包验证时,都要较大的需求 2. 简单的验证方法 简单来…...
 
C#知识|基于反射和接口实现抽象工厂设计模式
哈喽,你好啊,我是雷工! 01 应用场景 在项目的多数据库支持上、业务的多算法封装、以及各种变化的业务中; 02 抽象工厂组成 抽象工厂包括抽象产品(即业务接口,可以通过抽象类或抽象接口设计)…...
【分布式微服务云原生】gRPC vs RPC:深入探索远程过程调用的现代与经典
摘要 在分布式系统的世界里,gRPC和RPC是两个耳熟能详的术语,但它们之间有何区别和联系?本文将深入探讨gRPC和RPC的概念、关键特性、以及它们在现代软件开发中的应用。你将了解到gRPC如何作为RPC的一种实现,提供高性能的跨语言远程…...
听说这是MATLAB基础?
MATLAB(矩阵实验室)是一个强大的高性能计算环境和编程语言,广泛应用于数学计算、算法开发、数据分析、可视化以及模拟等多个领域。以下是MATLAB的一些基础知识,涵盖其功能、语法、基本操作等方面。 1. MATLAB环境 工作区…...
 
【CSS/HTML】圣杯布局和双飞翼布局实现两侧宽度固定,中间宽度自适应及其他扩展实现
前沿简介 圣杯布局和双飞翼布局是前端重要的布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。 圣杯布局来源于文章In Search of the Holy Grail,双飞翼布局来源于淘宝UED。 两者的实现方式有差异,但是都…...
 
数据流和数据流处理技术
一数据流 首先明确数据流概念:数据流是连续不断生成的、快速变化的无界数据序列 数据流类型: 数据流大致可以分为四种类型 1.连续型数据流:不断地产生数据,数据稳定速度输入系统。 2.突发型数据流:在某特定时间或…...
 
(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案
系列文章目录 文章目录 系列文章目录一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案1.资料 一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案 1.资料…...
 
解决TikTok无网络连接问题解析
随着社交媒体的快速发展,TikTok已成为全球用户最喜欢的短视频平台之一,吸引了数以亿计的用户。然而,在享受这个平台时,用户经常会遇到无网络连接的问题,这不仅影响观看体验,还可能导致无法上传内容或参与社…...
 
k8s中,ingress的实现原理,及其架构。
图片来源:自己画的 图片来源:k8s官网 首先,什么是ingress? 是服务还是控制器? 都不精确 ingress是一个api资源 service和deployment也是api资源。 这几个相互协作,组建成一个对外提供服务的架构。 ingress提供的…...
 
【数据结构强化】应用题打卡
应用题打卡 数组的应用 对称矩阵的压缩存储 注意: 1. 2.上三角的行优先存储及下三角的列优先存储与数组的下表对应 上/下三角矩阵的压缩存储 注意: 上/下三角压缩存储是将0元素统一压缩存储,而不是将对角线元素统一压缩存储 三对角矩阵的…...
解决 MySQL 服务无法启动:failed to restart mysql.service: unit not found
目录 前言1. 问题描述2. 问题分析3. 解决步骤3.1 检查 MySQL 服务文件3.2 备份旧的服务文件3.3 启动 MySQL 服务3.4 验证服务状态 4. 总结结语 前言 在日常使用 MySQL 数据库时,有时候可能会遇到服务无法正常启动的问题。这类问题通常出现在系统更新或者服务配置文…...
Dubbo和Http的调用有什么区别
背景 我们在项目开发中,需要进行调用外部接口时,往往使用Dubbo和Http方式都能实现远程调用。那么他们在使用上,有什么区别呢? 定位不同 一个是分布式环境下的框架,一个是通信协议。 Dubbo:是一种高性能的…...
 
ARM 架构、cpu
一、ARM的架构 ARM是一种基于精简指令集(RISC)的处理器架构. 1、ARM芯片特点 ARM芯片的主要特点有以下几点: 精简指令集:ARM芯片使用精简指令集,即每条指令只完成一项简单的操作,从而提高指令的执行效率…...
【React】入门Day03 —— Redux 与 React Router 核心概念及应用实例详解
1. Redux 介绍 // 创建一个简单的Redux store const { createStore } Redux;// reducer函数 function counterReducer(state { count: 0 }, action) {switch (action.type) {case INCREMENT:return { count: state.count 1 };case DECREMENT:return { count: state.count -…...
u2net网络模型训练自己数据集
单分类 下载项目源码 项目源码 准备数据集 将json转为mask json_to_dataset.py import cv2 import json import numpy as np import os import sys import globdef func(file):with open(file, moder, encoding"utf-8") as f:configs json.load(f)shapes configs…...
 
登录功能开发 P167重点
会话技术: cookie jwt令牌会话技术: jwt生成: Claims:jwt中的第二部分 过滤器: 拦截器: 前端无法识别controller方法,因此存在Dispa什么的...
 
数据架构图:从数据源到数据消费的全面展示
在这篇文章中,我们将探讨如何通过架构图来展示数据的整个生命周期,从数据源到数据消费。下面是一个使用Mermaid格式的示例数据架构图,展示了数据从源到消费的流动、处理和存储过程。 数据架构图示例 说明 数据源:分为内部数据源&…...
useEffect 与 useLayoutEffect 的区别
useEffect 与 useLayoutEffect 的区别 useEffect和useLayoutEffect是处理副作用的React钩子函数,有以下区别1. 执行时机不同2. 对性能影响不同3. 对渲染的影响不同:4. 使用场景不同 使用建议 useEffect和useLayoutEffect是处理副作用的React钩子函数&…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
 
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
 
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
 
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
 
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
 
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
 
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
