高效搭建Nacos:实现微服务的服务注册与配置中心
一、关于Nacos
1.1 简介
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。Nacos 提供了简单易用的界面和丰富的功能,使得服务注册与发现、配置管理等操作变得更加直观和高效。
微服务生态组件
1.2 发展
概览
Nacos(Dynamic Naming and Configuration Service)的发展历程反映了其从阿里巴巴内部项目成长为开源社区中备受关注的服务发现和配置管理平台的过程。以下是Nacos的主要发展历程:
早期背景
- 2008年:Nacos的起源可以追溯到阿里巴巴五彩石项目,该项目旨在完成微服务拆分和业务中台建设。随着阿里巴巴集团内部对微服务架构的需求增加,迫切需要一个高效的服务发现和配置管理工具。
开源与成长
- 2018年3月:Nacos首次正式对外开源,标志着它开始走向更广泛的开发者社区。
- 2018年8月:Nacos进入Apache软件基金会的孵化阶段,成为Apache的孵化项目。这一步极大地提升了Nacos在国际上的知名度,并吸引了更多贡献者加入。
功能迭代与版本发布
- 2019年3月:Nacos正式发布了多个稳定版本,持续改进性能、安全性和易用性。这一时期,Nacos逐渐形成了成熟的产品形态,广泛应用于阿里巴巴内外的各种业务场景。
- 2020年1月:发布Nacos 1.1.3版本引擎,支持在公有云环境全托管的方式使用Nacos作为注册中心,增强了其云端服务能力。
- 2020年7月:推出Nacos 1.2.1版本,引入元配置数据管理功能,允许微服务应用在运行时动态修改配置信息和路由规则等,进一步提升了灵活性和响应速度。
- 2020年:通过对1.X版本内核进行改造,Nacos 2.0专业版实现了性能提升10倍的目标,基本满足了用户对于微服务场景下的高性能需求。此外,还加强了SLA保障,在配置数据的安全性方面进行了优化,并通过MCP协议与Istio生态打通,成为Istio的注册中心之一。
持续发展与社区贡献
-
2021年及以后:Nacos继续快速迭代,陆续推出了多个新特性,包括但不限于:
- 更强的多租户支持,帮助不同团队或组织在同一个平台上独立管理各自的服务和配置。
- 改进后的健康检查机制,确保只有健康的实例能够被发现。
- 增加了对多种编程语言的支持,使得Nacos的应用范围更加广泛。
-
截至2024年:Nacos已经成为中国最活跃的开源项目之一,不仅在国内拥有庞大的用户群体,在全球范围内也获得了广泛关注。最新的GA版本为2.4.2,保持向下兼容至1.0.0版本,体现了其良好的稳定性与向后兼容能力。
版本
以下是Nacos版本的主要发展历程:
1. Nacos 1.0 版本(2018年发布)
-
发布背景:Nacos最早作为阿里巴巴微服务架构的一个核心组件出现,目的是为了解决在微服务场景下的服务发现和配置管理问题。
-
核心功能:
- 服务发现和健康检查
- 动态配置管理
- 动态DNS服务
- 分布式配置管理支持
-
特点:
- 提供简单的REST API,支持服务的注册与发现。
- 支持多种配置方式,包括基于文件、数据库和Nacos自带的存储机制。
- 初步支持Spring Cloud和Dubbo的集成。
2. Nacos 1.1.x 版本(2019年发布)
-
发布背景:该版本主要是对1.0版本进行增强和修复,加入更多的企业级功能。
-
新特性:
- 支持集群模式:通过集群模式,提高系统的可用性和扩展性。
- 改进的健康检查机制:增加了多种健康检查方式,支持基于HTTP、TCP等多协议的健康检查。
- 改进的配置管理:支持更为复杂的配置管理功能,如配置的灰度发布、版本控制、配置动态更新等。
3. Nacos 1.2.x 版本(2020年发布)
-
发布背景:该版本继续增强稳定性与功能,特别是服务发现和配置管理功能的进一步完善。
-
新特性:
- 支持更多的注册中心协议:比如支持与Kubernetes、Consul等平台的集成。
- 配置拉取增强:通过动态推送和增量更新机制,改善配置的实时同步性能。
- 改进的服务健康检查和容错机制。
- 支持命名空间:通过引入命名空间管理不同环境下的配置和服务发现,方便进行多环境隔离。
4. Nacos 2.x 版本(2021年发布)
-
发布背景:这是Nacos一个重要的版本,除了对核心功能的优化,还加入了一些新的特性和组件。
-
新特性:
- 性能提升:通过优化底层存储和分布式架构,提升了系统的性能和吞吐量,支持高并发、高可用的场景。
- 配置服务与服务发现的更紧密集成:Nacos 2.0对配置管理和服务发现的结合进行了更加紧密的设计,使得微服务在运行时能更加高效地管理配置与服务发现。
- 更好的易用性和扩展性:提供了更加完善的API,方便与其他微服务框架和中间件进行集成。
- 简化了架构设计:通过去掉了不必要的复杂功能,使得系统更加轻量化。
- 容器化和Kubernetes集成:进一步加强了对容器化环境和Kubernetes的支持,可以在Kubernetes集群中更方便地部署和管理。
5. Nacos 2.1.x 版本(2022年发布)
-
发布背景:该版本着重于提升高可用性和分布式系统的稳定性,同时也对Nacos的性能做了大量优化。
-
新特性:
- 多数据源支持:支持通过不同的数据源(如MySQL、PostgreSQL、Oracle等)来存储配置和服务信息。
- 增强的集群管理和分布式部署能力:支持分布式部署和高可用集群管理,进一步增强了Nacos的横向扩展能力。
- 权限管理:新增了更细粒度的权限管理,支持对不同的用户和角色分配不同的访问权限。
- 跨数据中心支持:加强了Nacos的跨数据中心部署能力。
6. Nacos 2.2.x 版本(2023年发布)
-
发布背景:该版本继续完善稳定性和性能,特别是在大规模集群环境中的表现。
-
新特性:
- 增强的动态配置管理:支持更多配置的自动化管理和多维度的灰度发布策略。
- 提升集群一致性:通过优化集群内部数据同步机制,提升了大规模分布式环境下的一致性和容错能力。
- 跨平台支持:加强了对多种平台的支持,包括云原生架构和容器化环境的适配。
- 更好的用户界面:改善了Nacos的Web控制台,使得用户可以更加方便地管理服务、配置和命名空间。
1.3 特性
- 服务发现
- 动态注册与发现:支持基于DNS和HTTP的服务发现机制,让服务可以自动注册到Nacos,并允许其他服务通过名称查找它们。
- 健康检查:内置健康检查机制,确保只有健康的实例能够被发现。
- 多数据中心支持:支持跨多个数据中心的服务注册与发现,有助于实现高可用性和地理冗余。
- 配置管理
- 动态配置管理:提供集中式的配置管理能力,支持配置的实时更新,无需重启应用即可生效。
- 版本控制:为配置项提供历史版本记录,方便回滚和审计。
- 加密存储:支持敏感数据的加密存储,保障配置的安全性。
- 服务管理
- 命名空间隔离:支持多租户模式,不同业务或团队可以在各自的命名空间内独立管理自己的服务和配置。
- 分组管理:通过分组对服务进行分类管理,便于组织和维护。
- 权限控制:提供细粒度的权限控制,确保只有授权用户才能访问特定资源。
1.4 组件架构
Nacos 的架构主要分为以下几个核心组件:
-
Nacos Server:
- Nacos Server 是整个 Nacos 系统的核心,负责服务注册与发现、配置管理、健康检查等任务。
- 它可以分布式部署,并通过一致性协议(如 Raft)保证集群中所有节点的数据一致性。
-
Nacos Client:
- Nacos Client 是应用程序的客户端,它负责与 Nacos Server 进行交互,进行服务的注册、发现、配置读取等操作。
- 在微服务中,服务提供者和消费者都通过 Nacos Client 进行服务注册和发现。
-
Nacos Console:
- Nacos Console 是一个 web 界面,用于服务和配置的管理。通过控制台,用户可以注册和管理服务,查看服务的健康状况,修改配置,查看配置版本等。
- 控制台通常部署在 Nacos Server 上,提供一个方便的操作界面。
-
Nacos Storage:
- Nacos 提供了多个存储选项,可以通过关系型数据库(如 MySQL)或本地文件系统来存储服务和配置信息。
1.5 应用场景
Nacos(Naming and Configuration Service)是一个开源的动态服务发现、配置管理和服务管理平台,广泛应用于微服务架构中。它为分布式系统提供了服务发现、配置管理、动态DNS服务等多种功能。以下是Nacos的典型应用场景:
1. 微服务架构中的服务发现与注册
-
场景描述:在微服务架构中,服务实例通常是动态变化的,服务的注册和发现至关重要。Nacos通过提供服务注册与发现功能,帮助系统自动化管理服务实例。
-
使用方式:
- 服务注册:每个微服务启动时向Nacos注册自己的信息(如IP地址、端口号、元数据等)。
- 服务发现:其他服务通过Nacos查询到目标服务的地址,实现动态调用。
-
适用场景:
- 微服务架构中,多个服务实例需要根据实时变化进行动态发现。
- 需要自动化的负载均衡和故障切换。
2. 动态配置管理
-
场景描述:在微服务或分布式系统中,配置项可能在多个服务中使用。Nacos提供集中式配置管理,能够支持配置的动态加载和实时推送,避免了手动更新配置文件的麻烦。
-
使用方式:
- 配置文件(如YAML、JSON等)保存在Nacos配置中心,服务通过Nacos动态获取配置。
- 支持配置的热更新和灰度发布,配置变更时可以实时推送到应用。
-
适用场景:
- 需要集中管理微服务配置,配置变动频繁,且希望能自动更新到所有实例。
- 微服务系统中,不同服务的配置可能依赖于不同环境(如开发、测试、生产等),需要通过命名空间进行隔离。
3. 多环境和多集群管理
-
场景描述:在跨多个环境(开发、测试、生产)和多个数据中心或集群的应用场景下,Nacos通过命名空间和多集群的支持,帮助用户灵活地管理不同环境下的服务和配置。
-
使用方式:
- 通过命名空间将不同环境的配置进行隔离,确保不同环境配置不相互干扰。
- Nacos的多集群支持可用于跨地域的部署,支持多个数据中心的高可用和容灾。
-
适用场景:
- 企业需要管理多个环境和多个集群,且希望能通过统一的配置管理平台来控制。
- 配置管理需要跨多个地域或数据中心,确保高可用和容错能力。
4. 服务治理与动态负载均衡
-
场景描述:在分布式系统中,服务治理是一个重要环节,Nacos不仅提供服务发现和注册,还与负载均衡器(如Nginx、Spring Cloud Load Balancer等)结合,支持动态调整负载均衡策略。
-
使用方式:
- 服务实例注册到Nacos,其他服务通过Nacos进行服务发现并根据权重等策略动态进行负载均衡。
- Nacos还可以与API网关进行集成,支持基于规则的流量路由和熔断机制。
-
适用场景:
- 需要对微服务流量进行细粒度控制和动态负载均衡。
- 系统需要支持高可用性,出现故障时可以自动切换到健康的服务实例。
5. 动态DNS与服务名称解析
-
场景描述:Nacos提供DNS功能,可以将服务实例的域名映射到动态的服务实例地址,实现动态DNS解析。
-
使用方式:
- 服务注册后,Nacos将服务实例与DNS记录进行绑定,外部客户端通过DNS访问服务。
- 支持基于服务名称的DNS解析,无需关心服务的实际IP地址。
-
适用场景:
- 服务实例的IP地址动态变化,客户端需要通过域名访问服务。
- 想要简化服务调用的网络层级,使用统一的域名进行访问。
6. 容器化和Kubernetes环境下的配置管理
-
场景描述:在Kubernetes等容器化环境中,微服务的生命周期可能较短,服务实例动态变化频繁。Nacos可以与Kubernetes进行集成,帮助容器化应用进行服务发现、配置管理和动态DNS等操作。
-
使用方式:
- 通过Kubernetes的服务发现与Nacos的服务发现结合,自动管理Pod的注册和发现。
- 使用Nacos管理容器中的配置文件,并支持动态加载和更新。
-
适用场景:
- 在Kubernetes集群或其他容器化平台上运行的微服务应用,需要集中管理服务和配置。
- 动态增加、缩减或更新容器实例时,希望自动更新配置并确保服务可用性。
7. 分布式系统中的元数据管理
-
场景描述:分布式系统中的微服务通常需要使用元数据(如服务版本、环境信息等)进行管理。Nacos支持服务的元数据存储,可以为服务注册提供更丰富的信息。
-
使用方式:
- 服务在注册时,可以携带元数据(如版本号、环境类型等),Nacos存储这些信息供其他服务查询。
-
适用场景:
- 需要管理服务的版本信息、部署环境等元数据,并且允许其他服务根据这些元数据进行服务选择和调用。
- 对服务的元数据进行统一管理,便于后续的服务治理和版本控制。
8. 分布式系统中的容错与熔断
-
场景描述:在大规模分布式系统中,服务可能因为各种原因(如网络故障、服务过载等)出现不可用。Nacos可以帮助管理服务的健康状况并与熔断机制结合,提升系统的容错能力。
-
使用方式:
- 通过健康检查,Nacos自动识别服务实例的健康状态,及时从负载均衡中剔除不健康的实例。
- 与Spring Cloud等微服务框架集成时,结合熔断器(如Hystrix)提供服务容错功能。
-
适用场景:
- 微服务系统需要具备自动恢复能力,避免因个别服务故障导致全系统不可用。
- 在高并发、高负载的场景下,系统需要动态调整服务调用,确保系统的高可用性。
二、安装部署
2.1 部署模式
Nacos 提供了两种两种部署运行模式:单机模式
和集群模式
单机模式
单机模式又称单例模式
, 拥有所有Nacos的功能及特性,具有极易部署、快速启动等优点。但无法与其他节点组成集群,无法在节点或网络故障时提供高可用能力。单机模式同样可以使用内置Derby数据库(默认)和外置数据库进行存储。
单机模式主要适合于工程师于本地搭建或于测试环境中搭建Nacos环境,主要用于开发调试及测试使用;也能够兼顾部分对稳定性和可用性要求不高的业务场景。
集群模式
集群模式通过自研一致性协议Distro以及Raft协议,将多个Nacos节点构建成了高可用的Nacos集群。数据将在集群中各个节点进行同步,保证数据的一致性。集群模式具有高可用、高扩展、高并发等优点,确保在故障发生时不影响业务的运行。集群模式默认采用外置数据库进行存储,但也可以通过内置数据库进行存储。
该模式主要适合于生产环境,也是社区最为推荐的部署模式。
2.2 安装步骤
这里展示传统安装方式,后续介绍docker安装,更快捷。
(1)环境准备
Nacos 依赖 Java 环境来运行,请确保是在以下版本环境中安装使用:
- 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
- 64 bit JDK 1.8+;下载 & 配置。
这里以Windows环境安装
(2)下载安装包
home https://nacos.io/zh-cn/index.html
解压后得到文件
(3)配置
数据库建库
在mysql中新建数据库,库的名称nacos_config
数据库建表
打开nacos中conf文件夹,复制nacos-mysql.sql中的sql语句,在mysql中执行
数据库配置连接
打开nacos中conf文件夹,修改application.properties文件
去掉注释,修改数据库地址,库名,账号,密码
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1234566
在默认的Nacos server配置中,不会对客户端鉴权,即任何能访问Nacos server的用户,都可以直接获取Nacos中存储的配置。
开启Nacos server的鉴权。在Nacos server上修改application.properties中的nacos.core.auth.enabled值为true即可:
nacos.core.auth.enabled=true
启动配置
到/bin/startup.cmd脚本,然后配置单机模式:set MODE=“standalone”,保存后双击即可运行
(4)启动
正常双击startup.cmd脚本,部分需要以管理员运行
(5)浏览器访问
http://127.0.0.1:8848/nacos/#/login
账号:nacos
密码:nacos
通过本文的介绍,我们已经了解了 Nacos 的基本概念,并掌握了传统安装方式。Nacos 作为一个功能强大的服务发现和配置管理平台,在微服务架构中扮演着至关重要的角色,为系统的可靠性、可扩展性和灵活性提供了强有力的保障。
接下来,我们将深入探讨 Nacos 的核心功能,重点介绍如何利用 Nacos 实现高效的配置中心和注册中心功能。无论是配置管理还是服务治理,Nacos 都能提供丰富的功能和灵活的扩展方式,帮助开发者轻松实现分布式系统中的服务管理和配置控制。
相关文章:
高效搭建Nacos:实现微服务的服务注册与配置中心
一、关于Nacos 1.1 简介 Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。Nacos 提供了简单易用…...
JavaScript 实现动态产品展示网页
JavaScript 实现动态产品展示网页 1. HTML 页面结构2. CSS 样式设计3. JavaScript 实现功能功能总结 本文设计了一个基于 JavaScript 的动态产品展示网页案例,核心功能包括: 动态产品分类过滤:通过点击分类按钮,仅显示属于该分类…...
小程序配置文件 —— 13 全局配置 - window配置
全局配置 - window配置 这里讲解根目录 app.json 中的 window 字段,window 字段用于设置小程序的状态栏、导航条、标题、窗口背景色; 状态栏:顶部位置,有网络信号、时间信息、电池信息等;导航条:有一个当…...
【小程序】wxss与rpx单位以及全局样式和局部样式
目录 WXSS 1. 什么是 WXSS 2. WXSS 和 CSS 的关系 rpx 1. 什么是 rpx 尺寸单位 2. rpx 的实现原理 3. rpx 与 px 之间的单位换算* 样式导入 1. 什么是样式导入 2. import 的语法格式 全局样式和局部样式 1. 全局样式 2. 局部样式 WXSS 1. 什么是 WXSS WXSS (We…...
矩阵的因子分解1-奇异值分解
文章目录 矩阵的因子分解1-奇异值分解求法归纳例1. 对矩阵 A ( 0 1 − 1 0 0 2 1 0 ) A \begin{pmatrix} 0 & 1 \\ -1 & 0 \\ 0 & 2 \\ 1 & 0 \end{pmatrix} A 0−1011020 进行奇异值分解1. 计算 A H A A^H A AHA 的特征值和特征向量2. 将奇异值按…...
Hive其十,优化和数据倾斜
目录 Hive优化 1、开启本地模式 2、explain分析SQL语句 3、修改Fetch操作 4、开启hive的严格模式【提高了安全性】 5、JVM重用 6、分区、分桶以及压缩 7、合理设置map和reduce的数量 合理设置map数量: 设置合理的reducer的个数 8、设置并行执行 9、CBO优…...
云原生后端开发(一)
云原生后端开发 云原生(Cloud-Native)是指一种构建和运行应用程序的方式,它充分利用了云计算的特点,比如弹性伸缩、自动化部署、容器化等。在云原生的架构下,后端应用通常具备高度可扩展、可维护、易于自动化管理的特…...
Python常用模块详解:从操作系统接口到日志记录
Python常用模块详解:从操作系统接口到日志记录 1. os模块:操作系统接口主要功能示例 2. io模块:流操作主要功能示例 3. time模块:时间操作主要功能示例 4. argparse模块:命令行参数解析主要功能示例 5. logging模块&am…...
修改成清华镜像源解决Anaconda报The channel is not accessible源通道不可用问题
修改成清华镜像源解决Anaconda报The channel is not accessible源通道不可用问题 最近在通过pycharm开发python程序,引用anaconda环境建立虚拟环境时报错,报UnavailableInvalidChannel: The channel is not accessible or is invalid.应该是镜像源访问通…...
Python之Web开发
一、基本概念 Web开发是指创建和维护网站或Web应用的过程。一个典型的Web应用包括前端(客户端)和后端(服务器端)。前端负责用户界面的设计和交互,而后端则处理业务逻辑、数据存储和与数据库的通信。Python作为一门功能…...
CDN如何抵御DDoS攻击
一、DDoS攻击的定义 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是一种常见且破坏性较大的网络攻击方式。攻击者通过控制大量分布在全球各地的受感染设备(称为“僵尸网络”),同时向目标服务器…...
基于进程信号量的多线程同步机制研究与实现
1 信号量 1.1 原理与概念 信号量机制本质是对于资源的预订操作,线程或者进程预订了之后,确保未来有一段时间,资源是属于我的。 对于预订资源,会有一个最小单位,资源都是以这个最小单位为整体被使用的。 信号量需要做…...
七、队列————相关概念详解
队列————相关概念详解 前言一、队列1.1 队列是什么?1.2 队列的类比 二、队列的常用操作三、队列的实现3.1 基于数组实现队列3.1.1 基于环形数组实现的队列3.1.2 基于动态数组实现的队列 3.2 基于链表实现队列 四、队列的典型应用总结 前言 本篇文章,我们一起来…...
钉钉h5微应用鉴权配置客户端 API 鉴权步骤
这里记录一下使用的钉钉h5微应用 配置客户端 API 鉴权的内容 注意不是所有的都功能都需要鉴权。 先要引入钉钉环境 见下链接 https://blog.csdn.net/KLS_CSDN/article/details/144794982?spm1001.2014.3001.5501 引入鉴权代码到前端页面并配置以下参数: dd.con…...
04.HTTPS的实现原理-HTTPS的混合加密流程
04.HTTPS的实现原理-HTTPS的混合加密流程 简介1. 非对称加密与对称加密2. 非对称加密的工作流程3. 对称加密的工作流程4. HTTPS的加密流程总结 简介 主要讲述了HTTPS的加密流程,包括非对称加密和对称加密两个阶段。首先,客户端向服务器发送请求…...
Python中构建终端应用界面利器——Blessed模块
在现代开发中,命令行应用已经不再仅仅是一个简单的文本输入输出工具。随着需求的复杂化和用户体验的重视,终端界面也逐渐成为一个不可忽视的设计环节。 如果你曾经尝试过开发终端UI,可能对传统的 print() 或者 input() 函数感到不满足&#…...
【Python】 基于Python实现日志聚合与分析工具:利用Logstash与Fluentd构建高效分布式日志系统
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在分布式系统中,日志数据的生成速度和数量呈指数级增长,传统的日志管理方式已无法满足现代企业对实时性、可扩展性和高效性的需求。本文深…...
汽车网络安全基线安全研究报告
一、引言 随着汽车行业朝着智能网联方向飞速发展,汽车网络安全已成为保障用户安全和行业健康发展的关键要素。本报告将深入探讨汽车网络安全相关内容,以及国际、国内重要的汽车网络安全标准基线和相应防护措施等内容。 二、汽车网络安全的重要性 &…...
[pdf、epub]260道《软件方法》强化自测题业务建模需求分析共216页(202412更新)
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 260道《软件方法》强化自测题业务建模需求分析共216页(202412更新) 已上传到本CSDN账号的资源 如果下载不到,也可以访问以下链接: ht…...
工业4.0和MES(制造执行系统)方案(附实践资料)
工业4.0和MES(制造执行系统)方案是智能制造领域中的关键组成部分,它们共同推动着制造业的数字化转型。以下是工业4.0和MES方案的一些核心要点: 智能制造背景: 工业4.0是第四次工业革命,它结合了信息通信技术…...
机器视觉中的单线程、多线程与跨线程:原理与应用解析
在机器视觉应用中,程序的运行效率直接影响到系统的实时性和稳定性。随着任务复杂度的提高,单线程处理往往无法满足高性能需求,多线程技术因此被广泛应用。此外,跨线程操作(如在多线程中更新界面或共享资源)…...
性能测试瓶颈:CPU 问题的深度分析和调优
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 我们做性能测试的时候,除了使用工具编写脚本并执行之外,最核心的工作就是做性能测试结果分析和问题调优。然后在做性能测试的时候…...
云手机与Temu矩阵:跨境电商运营新引擎
云手机与 Temu 矩阵结合的基础 云手机技术原理 云手机基于先进的 ARM 虚拟化技术,在服务器端运行 APP。通过在服务器上利用容器虚拟化软件技术,能够虚拟出多个独立的手机操作系统实例,每个实例等同于一部单独的手机,可独立运行各…...
Oracle考试多少分算通过?
OCP和OCM认证的考试及格分数并不是固定的,而是根据考试的难度和考生的整体表现来确定。对于OCP认证,考生需要全面掌握考试要求的知识和技能,并在考试中表现出色才有可能通过。而对于OCM认证,考生则需要在每个模块中都达到一定的水…...
【UE5.3.2】安装metahuman插件
Unable to find plugin ‘MetaHuman’报错 Unable to find plugin MetaHuman (referenced via RPect_5_3.uproject). Install it and try again, or remove it from the required plugin list. 10>Microsoft.MakeFile.Targets(44,5): Error MSB3073 :...
python lambda函数用法
在Python中,lambda函数是一种用于创建匿名函数的简便方式。它允许你快速定义一个简单的函数,而不需要使用传统的def语句。lambda函数通常用于一次性的操作或作为参数传递给其他函数。 lambda函数的语法: lambda 参数1, 参数2, ... : 表达式l…...
acitvemq AMQP:因为消息映射策略配置导致的MQTT接收JMS消息乱码问题 x-opt-jms-dest x-opt-jms-msg-type
使用ActiveMQ(5.14.5)作消息系统服务的场景下, 当我用Apache Qpid Proton发送消息(使用AMQP协议)发送JMS消息,用Paho MQTT接收消息的时候, 收到的消息前面总是有一串乱码,大概就是这样: 4Sp?AS…...
ida的使用
一.ida的基本设置 在IDA的安装根目录下有许多文件夹,各个文件夹存储不同的内容 1.目录结构 cfg:包含各种配置文件,基本IDA配置文件ida.cfg,GUI配置文件idagui.cfg,文本模式用户界面配置文件idatui.cfg, idc:包含…...
archery docker安装
#下载Archery-1.11.3.tar.gz https://codeload.github.com/hhyo/Archery/tar.gz/refs/tags/v1.11.3 cd /root tar -zxvf Archery-1.11.3.tar.gz cd /root/Archery-1.11.3/src/docker-compose #启动 docker compose -f docker-compose.yml up -d#表结构初始化 docker exec -ti a…...
【zookeeper核心源码解析】第四课:客户端与服务端读写的io核心流程
系列文章目录 【zookeeper核心源码解析】第一课:zk启动类核心流程序列图 【zookeeper核心源码解析】第二课:俯瞰QuorumPeer启动核心流程,实现选举关键流程 【zookeeper核心源码解析】第三课:leader与follower何时开始同步&#…...
影刀进阶指令 | Kimi (对标ChatGPT)
文章目录 影刀进阶指令 | Kimi (对标ChatGPT)一. 需求二. 流程三. 实现3.1 流程概览3.2 流程步骤讲解1\. 确定问题2\. 填写问题并发送3\. 检测答案是否出完 四. 运维 影刀进阶指令 | Kimi (对标ChatGPT) 简单讲讲RPA调用kimi实现…...
Linux第99步_Linux之点亮LCD
主要学习如何在Linux开发板点亮屏,以及modetest命令的实现。 很多人踩坑,我也是一样。关键是踩坑后还是实现不了,这样的人确实很多,从群里可以知道。也许其他人没有遇到这个问题,我想是他运气好。 1、修改设备树 1)、…...
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(三):基于BT行为树实现复杂敌人BOSS-AI
前言 (题外话)nav2系列教材,yolov11部署,系统迁移教程我会放到年后一起更新,最近年末手头事情多,还请大家多多谅解。回顾我们整个学习历程,我们已经学习了很多C的代码特性,也学习了很多ROS2的跨…...
SpringCloudAlibaba技术栈-Higress
1、什么是Higress? 云原生网关,干啥的?用通俗易懂的话来说,微服务架构下Higress 就像是一个智能的“交通警察”,它站在你的网络世界里,负责指挥和调度所有进出的“车辆”(也就是数据流量)。它的…...
《信息传播:人工智能助力驱散虚假信息阴霾》
在信息爆炸的时代,虚假信息和谣言如同脱缰野马,肆意传播,对社会秩序和公众生活造成了严重影响。人工智能作为一种强大的技术工具,正逐渐成为信息传播的有力助手,为防止虚假信息和谣言扩散提供了新的途径。 虚假信息和…...
玩客云v1.0 刷机时无法识别USB
v1.0刷机时公对公插头掉了,刷机失败,再次刷机,一直提示无法识别的USB设备,此时LED一直不亮,就像是刷成砖了一样,查了好多文章最后发现正面还有一个地方需要短接。 背面的短接点 【免费】玩客云刷机包s805-…...
STM32F103RCT6学习之五:ADC
1.ADC基础 ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间 输入电压范围:0~3.3Vÿ…...
通过Cephadm工具搭建Ceph分布式存储以及通过文件系统形式进行挂载的步骤
1、什么是Ceph Ceph是一种开源、分布式存储系统,旨在提供卓越的性能、可靠性和可伸缩性。它是为了解决大规模数据存储问题而设计的,使得用户可以在无需特定硬件支持的前提下,通过普通的硬件设备来部署和管理存储解决方案。Ceph的灵活性和设计…...
flink+kafka实现流数据处理学习
在应用系统的建设过程中,通常都会遇到需要实时处理数据的场景,处理实时数据的框架有很多,本文将以一个示例来介绍flinkkafka在流数据处理中的应用。 1、概念介绍 flink:是一个分布式、高可用、高可靠的大数据处理引擎,…...
SpringBoot使用外置的Servlet容器(详细步骤)
嵌入式Servlet容器:应用打成可执行的jar 优点:简单、便携; 缺点:默认不支持JSP、优化定制比较复杂.; 外置的Servlet容器:外面安装Tomcat---应用war包的方式打包; 操作步骤: 方式一&…...
C# 中的委托与事件:实现灵活的回调机制
C#中的委托(Delegate)和事件(Event)。委托和事件是C#中非常重要的特性,它们允许你实现回调机制和发布-订阅模式,从而提高代码的灵活性和解耦程度。通过使用委托和事件,你可以编写更加模块化和可…...
大模型辅助测试的正确打开方式?
测试的基本目的之一,是对被测对象进行质量评估。换言之,是要提供关于被测对象质量的“确定性”。因此,我们很忌讳在测试设计中引入“不确定性”,比如采用不可靠的测试工具、自动化测试代码逻辑复杂易错、测试选择假设过于主观等等…...
设计模式之代理模式
代理模式代码示例:https://blog.csdn.net/weixin_39865508/article/details/141924680 代理模式的左右,一定程度上不暴露被代课对象的内容,更安全,也减少系统的耦合性 静态代理 代理对象和被代理对象都继承同一个接口 在代理对象…...
win11中win加方向键失效的原因
1、可能是你把win键锁了: 解决办法:先按Fn键,再按win键 2、可能是可能是 贴靠窗口设置 中将贴靠窗口关闭了,只需要将其打开就好了...
Html——11. 页面跳转
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>页面跳转</title><meta http-equiv"refresh" content"5; urlhttps://www.51zxw.net"/><!--<meta http-equiv"refresh" co…...
要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量
要查询 user 表中 we_chat_open_id 列不为空的用户数量,你可以使用以下 SQL 查询语句: SELECT COUNT(*) FROM user WHERE we_chat_open_id IS NOT NULL AND we_chat_open_id ! ;解释: SELECT COUNT(*): 表示要计算符合条件的行数。FROM us…...
docker-compos mysql5.7主从配置
docker-compos mysql5.7主从配置 docker-compose目录结构 配置文件 master/my.cnf [client] port 3306 socket /var/run/mysqld/mysqld.sock[mysqld_safe] pid-file /var/run/mysqld/mysqld.pid socket /var/run/mysqld/mysqld.sock nice 0…...
关于无线AP信道调整的优化(锐捷)
目录 一、信道优化的基本原则二、2.4G频段信道优化三、5G频段信道优化四、信道优化代码具体示例五、其他优化措施 一、信道优化的基本原则 信道优化旨在减少信道间的干扰,提高网络覆盖范围和信号质量。基本原则包括: 1. 选择合适的信道:根据…...
Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)
文章目录 一、Flask介绍二、Flask创建和运行 1.安装2.快速使用3.Flask小知识4.flask的运行方式 三、Werkzeug介绍四、Jinja2介绍五、Click CLI 介绍六、Flask安装 介绍watchdog使用python–dotenv使用(操作环境变量) 七、虚拟环境 介绍Mac/linux创建虚拟…...
解决Docker国内网络问题
6月后以来,大量Docker镜像网站停服,Docker无法下载安装 本仓库致力于解决国内网络原因无法使用Docker的问题。 特点: 使用Github Action将官网的安装脚本/安装包定时下载到本项目Release,供国内使用官方安装包,安全可…...