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

云原生--CNCF-3-核心工具介绍(容器和编排、服务网格和通信、监控和日志、运行时和资源管理,安全和存储、CI/CD等)

1、核心工具分类介绍

(1)、容器编排与管理

1、Docker

它是一款轻量级的容器化技术,可把应用及其依赖打包成独立的容器。借助Docker,开发者能够确保应用在不同环境中保持一致的运行状态。比如在开发环境中创建的容器,可以原封不动地在测试环境和生产环境中运行。

2、Kubernetes(毕业项目)
容器编排系统的事实标准,管理容器化应用的生命周期(部署、扩展、维护)。 Kubernetes提供了自动化部署、扩展和管理容器化应用的功能。它能够根据应用的负载情况自动调整容器数量,还具备服务发现、负载均衡等特性。许多大型企业在构建微服务架构时,都会选择Kubernetes来管理容器集群。 
  • 关键组件:
    • API Server(控制平面核心,处理集群资源操作)。
    • kubelet(节点代理,管理Pod和容器)。
    • etcd(分布式键值存储,存储集群状态)。
  • 适用场景:企业级容器化应用的自动化部署与运维。

(2)、服务网格与通信

1、Envoy(毕业项目,通信工具)
  • 作用:高性能的服务代理,作为服务网格(如 Istio)的数据平面,管理服务间通信、流量路由和熔断降级。
  • 特性:支持负载均衡、TLS加密、健康检查等。
2、Istio(毕业项目,网格工具)
  • 作用:为微服务提供流量管理、策略执行和可观测性等功能。通过Istio,可以轻松实现服务间的流量控制,如熔断、限流、重试等,还能对服务的调用情况进行监控和追踪。例如,在电商系统中,可以使用Istio对商品服务和订单服务之间的流量进行精确控制。与Envoy协同工作。
  • 适用场景:微服务架构中的流量治理和安全管控。
3、Linkerd(网格工具)

专注于提供轻量级、高性能的服务网格解决方案。它能够无缝集成到现有的Kubernetes集群中,为应用提供透明的服务发现、负载均衡和加密通信等功能,对资源的消耗较小。

4、Consul Connect(通信与安全增强工具)
  • Consul Connect是HashiCorp Consul的一部分,提供服务网格能力,包括服务发现、配置以及分段等。
  • 它允许用户定义服务间的连接规则,确保安全的服务到服务通信。

(3)、监控与可观测性

1、Prometheus(毕业项目)
  • 作用:时间序列数据库,用于监控指标(CPU、内存、请求延迟等),支持告警和可视化。Prometheus是一个开源的监控和警报系统,可收集和存储时间序列数据。它通过拉取的方式从各个目标(如容器、服务等)收集指标数据,并提供强大的查询语言和可视化界面。很多企业使用Prometheus来监控应用的性能指标,如CPU使用率、内存使用率等。
  • 集成能力:与Kubernetes深度集成,支持多种服务发现模式(如节点、Pod、Service)。
2、Grafana(CNCF沙盒项目)
  • 作用:可视化工具,与Prometheus紧密结合,生成监控仪表盘,提供了强大的可视化功能,支持多数据源(日志、指标、追踪)。可以创建各种类型的仪表盘,将监控数据以直观的图表形式展示出来。运维人员可以通过Grafana实时了解系统的运行状态。
3、Jaeger(毕业项目)
  • 作用:分布式链路追踪系统,用于调试微服务架构中的请求路径和性能瓶颈。
4、OpenTelemetry(毕业项目)
  • 作用:统一的数据收集框架,标准化日志、指标和追踪数据的采集,支持多云和混合环境。

(4)、日志与数据处理

1、Fluentd/Fluent Bit(毕业项目,日志收集工具)
  • 作用:日志收集器,统一处理、过滤和转发日志到存储或分析系统(如Elasticsearch、云存储)。它支持多种数据源和输出目标,能够将不同来源的日志数据集中存储和管理。在分布式系统中,Fluentd可以帮助运维人员快速定位和解决问题。
  • 特点:Fluentd适合中等规模,Fluent Bit轻量级,适用于边缘计算和容器环境。
2、Apache Flink(日志处理工具)
- 简介:一个开源的流处理框架,也支持批处理,可在无界和有界数据流上进行有状态的计算。
  • 特点:低延迟、高吞吐量,能处理实时和历史数据;支持事件时间语义,处理乱序数据;具有丰富的 API 和库。
  • 适用场景:适用于实时数据分析、ETL 处理、欺诈检测等场景。
3、Apache Spark(日志处理工具)
  • 类似于Flink,Spark提供了大规模数据处理的能力,支持批处理和流处理模式,并且可以与Kubernetes集成以实现云原生部署。
4、Loki(日志存储工具)
  • Loki 是由 Grafana Labs 开发并捐赠给CNCF的一种水平可扩展、高可用的集中式日志系统。它的设计目标是高效地存储和查询日志数据,特别适合那些对成本敏感且不需要全文搜索功能的场景。
5、EFK (Elasticsearch, Fluentd, Kibana)(采集,处理,展示)
  • 这是一套流行的日志管理解决方案组合,其中Elasticsearch用于存储和索引日志数据,Fluentd用于收集和转发日志,而Kibana则提供了一个强大的界面来可视化和分析这些数据。
6、Argo Workflows
  • 简介:基于 Kubernetes 的容器化工作流引擎,用于编排和运行复杂的数据处理任务。
    • 特点:支持 DAG(有向无环图)工作流,可定义任务间的依赖关系;与 Kubernetes 深度集成,可利用其资源管理和调度能力;支持多种编程语言和工具。
    • 适用场景:适合数据处理管道、机器学习训练等复杂工作流的编排和执行。

(5)、容器运行时与资源管理

1、containerd(毕业项目,容器运行时)
  • 作用:容器运行时,负责镜像管理、容器生命周期(创建、启动、停止)。
    它是 Docker 的一部分,并被设计为可嵌入到更大的系统中。
  • 集成:Kubernetes默认使用containerd或CRI-O作为容器运行时。
2、CRI-O(毕业项目,容器运行时)
- 简介:是专门为 Kubernetes 设计的容器运行时,遵循 Kubernetes 的容器运行时接口(CRI)规范。
- 特点:严格遵循 CRI 标准,与 Kubernetes 集成度高,能很好地满足 Kubernetes 的各种需求;安全性高,提供了多种安全机制来保护容器;易于部署和管理。
  • 适用场景:主要应用于以 Kubernetes 为核心的容器编排环境,为 Kubernetes 集群提供稳定的容器运行支持。
3、HPA(Horizontal Pod Autoscaler)

基于CPU/内存指标的自动水平扩缩容。 适用于流量波动场景(如电商促销)。

4、VPA(Vertical Pod Autoscaler)

自动调整Pod的资源配额(CPU/内存),优化资源利用率。 适用于长期运行服务的资源优化(如数据库集群)。

5、Rancher

CNCF生态工具,简化多集群管理,支持资源配额和策略控制。适用于多云/混合云环境下的统一资源管理。

(6)、配置与声明式管理

1、etcd(毕业项目,配置管理工具)
  • 作用:分布式键值存储,常用于存储和管理Kubernetes集群的配置信息和元数据。它具有高可用性、强一致性等特点,确保集群中的各个组件能够获取到最新的配置数据。Kubernetes使用Etcd来存储集群的状态信息,如节点信息、Pod信息等。
  • 特点:具备强一致性,保证数据在集群中的一致性;支持监听机制,可实时感知数据的变化;性能高,能快速处理大量的读写请求。
  • 适用场景:作为 Kubernetes 等分布式系统的核心存储组件,为系统提供可靠的配置存储和状态管理。
2、Helm(毕业项目,声明式管理工具)
  • 简介:被称为 Kubernetes 的包管理器,它使用 Chart 来封装 Kubernetes 应用的资源清单。
    • 特点:提供了丰富的 Chart 仓库,可快速部署常见的应用;支持参数化配置,能根据不同需求定制应用部署;方便进行版本管理和回滚操作。
    • 适用场景:适合大规模的 Kubernetes 集群,可简化应用的部署和管理过程。
3、Kustomize(声明式管理工具)
- 简介:是 Kubernetes 官方支持的声明式配置管理工具,允许用户通过叠加和定制的方式管理不同环境下的 Kubernetes 资源清单。
- 特点:无需模板引擎,直接操作 YAML 文件,避免了模板语言的复杂性;支持配置的继承和覆盖,方便在不同环境中复用配置。
- 适用场景:适用于管理多个环境(如开发、测试、生产)下的 Kubernetes 应用,能快速生成不同环境的配置文件。
4、Argo CD(声明式管理工具)
- 简介:是一个基于 GitOps 理念的持续交付工具,用于实现 Kubernetes 应用的声明式部署和自动化管理。
- 特点:以 Git 仓库作为单一事实来源,确保应用配置的版本控制和可追溯性;自动检测配置变更并同步到 Kubernetes 集群;支持多集群管理。
  • 适用场景:适用于采用 GitOps 工作流的团队,实现应用的自动化部署和持续交付。

(7)、安全与策略

1、Falco(毕业项目,安全工具)

Falco是一个行为活动监控器,旨在检测应用的行为是否异常或可疑。它能够作为 Kubernetes的容器运行时安全审计工具,实时监控容器中的系统调用。

2、OPA(Open Policy Agent,策略工具)

OPA 是一个开源的、通用的策略引擎,允许开发者定义和实施细粒度的访问控制和合规性检查(如Kubernetes RBAC策略)。它可以集成到各种环境中,如 Kubernetes、CI/CD 管道等。

3、Kyverno(策略工具)
- 简介:Kubernetes的策略引擎,允许用户通过编写策略来控制Kubernetes资源的创建和修改。
- 特点:使用Kubernetes自定义资源定义(CRD)来定义策略,易于理解和管理;支持验证、变更和生成策略,可满足不同的安全和配置需求;与 Kubernetes 深度集成,不依赖外部服务。
- 适用场景:用于在 Kubernetes 集群中实施安全策略,如限制容器的权限、确保资源符合特定的配置标准等。
4、Trivy(安全工具)
- 简介:一款简单易用的容器镜像漏洞扫描工具,能快速检测容器镜像中的安全漏洞。
- 特点:扫描速度快,支持多种操作系统和软件包管理器;可集成到 CI/CD 流程中,实现自动化漏洞检测;提供详细的漏洞报告。
- 适用场景:在容器镜像构建和部署前,对镜像进行安全扫描,确保镜像不包含已知的安全漏洞。
5、Cilium

基于eBPF的网络策略引擎,支持L7层策略和加密。适用于微服务间流量隔离(如服务网格的网络策略)。

(8)、基础设施与资源调配

1、Terraform(CNCF毕业项目,2023年加入)
- 简介:一款基础设施即代码(IaC)工具,允许用户使用声明式配置文件来定义和管理云基础设施(云资源和Kubernetes集群)。
- 特点:支持多种云提供商,如 AWS、Azure、Google Cloud 等;可实现基础设施的版本控制和自动化部署;提供资源状态管理,确保基础设施的配置与代码定义一致。
- 适用场景:适用于跨云环境或混合云环境下的基础设施管理,方便团队协作和快速迭代。 
2、Volcano(孵化项目)
  • 作用:Kubernetes原生的大规模作业调度框架,优化AI/ML训练任务的资源分配。
3、Ansible
- 简介:自动化运维工具,通过 SSH 协议远程管理和配置服务器。
- 特点:使用简单,无需在目标主机上安装客户端;采用 YAML 文件编写剧本,易于理解和维护;支持批量操作,可同时管理多台服务器。
  • 适用场景:适合服务器的配置管理、软件部署和自动化任务执行,尤其在中小型企业和项目中广泛应用。
4、Vertical Pod Autoscaler (VPA)
- 简介:Kubernetes 的垂直自动伸缩器,可根据容器的资源使用情况自动调整 Pod 的资源请求和限制。
- 特点:实现资源的动态调整,提高资源利用率;减少手动调整资源的工作量,降低运维成本。
  • 适用场景:适用于 Kubernetes 集群中,根据实际负载情况自动优化 Pod 的资源分配。
5、Horizontal Pod Autoscaler (HPA)
- 简介:Kubernetes 的水平自动伸缩器,可根据 CPU 利用率、内存利用率或自定义指标自动调整 Pod 的副本数量。
- 特点:根据负载动态调整应用的规模,确保应用的高可用性和性能;支持多种指标来源,可灵活配置伸缩策略。
- 适用场景:用于在 Kubernetes 集群中根据应用的负载情况自动调整 Pod 的数量,应对流量高峰和低谷。

(9)、持续集成与持续部署(CI/CD)工具

1、Jenkins

一款广泛使用的开源CI/CD工具,拥有丰富的插件生态系统。可以自动化构建、测试和部署应用,支持多种编程语言和版本控制系统。许多软件开发团队使用Jenkins来实现代码的持续集成和持续部署。

2、Jenkins X
  • 简介:是 Jenkins 社区为云原生开发提供的 CI/CD 解决方案,集成了 Jenkins 的功能,并针对 Kubernetes 进行了优化。
  • 特点:提供一键式的 CI/CD 流水线创建和部署;支持自动化的环境管理和应用发布;与多种云服务和工具集成,如 GitHub、GitLab 等。
  • 适用场景:适合初学者快速搭建 CI/CD 环境,也可用于企业级的云原生应用开发和部署。
3、Argo CD
  • 简介:基于 GitOps 理念的持续交付工具,以 Git 仓库作为单一事实来源,自动将应用配置同步到 Kubernetes 集群。
  • 特点:确保应用配置的版本控制和可追溯性;自动检测配置变更并同步到集群,实现自动化部署;支持多集群管理,方便在不同环境中部署应用。
  • 适用场景:适用于采用 GitOps 工作流的团队,可实现应用的自动化部署和持续交付,确保生产环境与 Git 仓库中的配置一致。
4、Tekton
  • 简介:一个开源的云原生 CI/CD 框架,专为 Kubernetes 设计。它通过 Kubernetes 自定义资源定义(CRD)来定义和执行 CI/CD 流水线,以容器化的方式运行任务。
  • 特点:具备高度的灵活性和可扩展性,支持在不同的环境中复用流水线组件;能与多种云提供商和工具集成;采用声明式配置,便于版本控制和团队协作。
  • 适用场景:适合在 Kubernetes 环境下构建复杂、可复用的 CI/CD 流水线,尤其适用于微服务架构的应用。
5、Harbor

CNCF毕业项目,企业级容器镜像仓库,支持安全存储、扫描和复制镜像。适用镜像全生命周期管理(如京东使用Harbor节省60%维护时间)。

(10)、分布式追踪

1、Jaeger(CNCF 毕业项目)
  • 背景:由 Uber 开源,是 CNCF 的首批毕业项目之一。
  • 特点:
  • 支持分布式追踪,提供全链路调用链分析。
    • 兼容 OpenTracing 和 OpenTelemetry 标准(Jaeger v2 基于 OpenTelemetry架构)。
    • 支持多种存储后端(如Cassandra、Elasticsearch、Kafka)。
    • 提供拓扑图、服务依赖分析和性能监控(SPM)功能。
  • 适用场景:大规模微服务架构的实时追踪。
  • 典型用户:Uber(原厂)、Netflix、Airbnb、阿里巴巴(部分场景)。
2、OpenTelemetry(CNCF毕业项目)
  • 背景:由CNCF主导的统一观测性框架,整合了分布式追踪、日志和指标。
  • 特点:
    • 统一标准:提供跨语言、跨平台的SDK和收集器,降低多工具集成成本。
    • 与Jaeger/Kubernetes深度集成:追踪数据可导出到Jaeger、Prometheus等后端。
    • 云原生优先:支持 Kubernetes原生部署,适合云原生环境。
  • 适用场景:需要统一观测性解决方案的企业。
  • 典型用户:Google、微软、AWS、蚂蚁集团。
3、Zipkin
  • 典型用户:Twitter(原厂)、Spring Cloud 生态项目。
  • 原因:
    • Twitter 开源,与 Spring Cloud Sleuth 紧密集成,适合 Java 微服务。
    • 社区成熟,支持多种语言。
    • 知识库提到其在 Spring Cloud 项目中的广泛使用。
4、SkyWalking
  • 典型用户:阿里巴巴、京东、字节跳动(部分场景)。
  • 原因:
    • 专为 Java 生态设计,深度集成 Spring、Dubbo 等框架。
    • 提供全链路追踪、拓扑图和智能分析(如自动依赖发现)。
    • 知识库提到其在大厂中的实践(如与 MDC、TraceId 结合)。

链路工具对比总结:
在这里插入图片描述

选择建议:

  • 云原生优先:选Jaeger + OpenTelemetry(Jaeger作为后端,OTel作为数据收集标准)。
  • Spring Cloud项目:Sleuth + Zipkin(轻量且生态友好)。
  • Java生态主导:SkyWalking(深度集成和智能分析)。
  • 统一观测需求:直接采用OpenTelemetry,支持未来扩展性。

(11)、存储管理

1、Rook(存储编排工具)
  • Rook 是一个开源的云原生存储编排工具,它为 Kubernetes 提供了自我管理和自我修复的存储服务。Rook 支持多种存储后端,如 Ceph、Cassandra 和 EdgeFS 等,简化了存储资源的配置和管理。
2、Ceph(对象存储,文件存储,块存储)
- 简介:一个统一的、分布式的存储系统,提供对象存储、块存储和文件系统存储功能。在 CNCF 生态中,常被用作块存储供 Kubernetes 集群使用。
- 特点:具备高扩展性,可轻松扩展存储节点和容量;高可靠性,通过数据冗余和自动故障转移保障数据安全;支持多租户,可在同一集群中为不同用户或项目分配存储资源。
- 适用场景:适用于需要大规模、高可靠存储的场景,如数据中心、云计算环境等。
3、MinIO(对象存储,文件存储)
- 简介:一个高性能的开源对象存储系统,兼容 Amazon S3 API,可在私有云或公共云环境中部署。
- 特点:快速部署和使用,支持单节点和分布式集群部署;具备高吞吐量和低延迟,可满足大规模数据存储和访问需求;提供强大的安全功能,如数据加密、访问控制等。
- 适用场景:适用于存储非结构化数据,如图片、视频、日志文件等,可作为云原生应用的存储后端。
4、OpenEBS(块存储,文件存储)
- 简介:专为 Kubernetes 设计的开源容器原生存储解决方案,提供块存储和文件存储服务。
- 特点:与 Kubernetes 深度集成,可通过自定义资源定义(CRD)进行存储资源的管理和配置;支持动态卷供应,可根据应用需求自动创建和删除存储卷;轻量级,对系统资源占用少。
- 适用场景:适合在 Kubernetes 集群中为有状态应用提供持久化存储,如数据库、消息队列等。

(12)、API网关

1、Kong

一个流行的开源API网关,适用于微服务和分布式架构。它支持高级路由、认证、速率限制等功能,帮助企业安全高效地暴露其服务。

2、Nginx

轻量级高性能反向代理,支持负载均衡和SSL终止。

3、Traefik
  • 简介:开源的现代 HTTP 反向代理和负载均衡器,专为容器化环境设计。它能自动发现和配置后端服务。
  • 特点:自动与 Kubernetes、Docker 等容器编排系统集成,实现服务的自动发现;配置简单,支持声明式和动态配置;提供美观的 Web UI,方便管理和监控。
  • 适用场景:非常适合基于容器的应用,尤其是使用 Kubernetes 进行部署的项目,例如小型到中型的云原生应用。

(13)、安全与证书管理

1、cert-manager
- 简介:Kubernetes 原生的证书管理控制器,可自动为 Kubernetes 集群中的应用程序获取、更新和管理 TLS 证书。
- 特点:支持多种证书颁发机构(CA),如 Let's Encrypt;与 Kubernetes 深度集成,可通过自定义资源定义(CRD)来管理证书;自动化证书生命周期管理,减少人工操作。
  • 适用场景:适用于在 Kubernetes 集群中为应用程序启用 HTTPS 加密,确保通信安全。
2、OPA(Open Policy Agent)
- 简介:通用的开源策略引擎,可用于在不同的系统和服务中执行策略决策,包括 Kubernetes 集群的安全策略。
- 特点:支持多种编程语言和框架,使用 Rego 语言编写策略,简单灵活;可与 Kubernetes、Istio 等系统集成;提供细粒度的策略控制。
- 适用场景:用于在多个层面(如 API 网关、服务网格、Kubernetes 集群等)实施统一的安全策略,如访问控制、资源配额管理等。
3、SPIRE
- 简介:一套可扩展的身份和注册引擎,用于为云原生环境中的服务和工作负载提供身份验证和授权。
- 特点:基于标准的开放协议,如 SPIFFE(SPIRE 的基础规范),提供统一的身份标识;支持多种工作负载类型,包括容器、虚拟机等;具备强大的扩展性和灵活性。
- 适用场景:适用于微服务架构的安全身份管理,确保服务之间的通信安全。

2、核心工具的生态分层

根据CNCF的五层生态版图,主要工具分布如下。
在这里插入图片描述

3、高频使用场景与选择建议

(1)、基础架构层:

  • Kubernetes + etcd + containerd:构建容器化应用的编排和运行时环境。

(2)、监控与可观测性:

  • Prometheus + Grafana + Jaeger:实现指标监控、可视化和链路追踪。

(3)、服务网格与通信:

  • Istio + Envoy:管理微服务间的流量和安全策略。

(4)、日志与数据管道:

  • Fluentd/Fluent Bit:统一日志收集与处理。
    ###(5)、安全与合规:
  • Falco + OPA:运行时安全检测与策略执行。

4、总结

CNCF的核心工具覆盖了云原生全生命周期,从容器编排(Kubernetes)到可观测性(Prometheus),再到服务网格(Istio/Envoy)和安全(Falco),形成了一套完整的技术栈。企业可根据需求选择工具组合,例如:

  • 基础架构:Kubernetes + containerd + etcd。
  • 全栈可观测性:Prometheus + Grafana + Jaeger + OpenTelemetry。
  • 服务网格:Istio + Envoy。

这些工具的成熟度和社区支持(如毕业项目)确保了其稳定性和互操作性,是云原生落地的基石。

逆风前行,Dare To Be!!!

相关文章:

云原生--CNCF-3-核心工具介绍(容器和编排、服务网格和通信、监控和日志、运行时和资源管理,安全和存储、CI/CD等)

1、核心工具分类介绍 (1)、容器编排与管理 1、Docker 它是一款轻量级的容器化技术,可把应用及其依赖打包成独立的容器。借助Docker,开发者能够确保应用在不同环境中保持一致的运行状态。比如在开发环境中创建的容器&#xff0c…...

网络基础知识

文章目录 一、网络架构1. 网络架构图2. 各层级功能3. 机房网络常见问题及解决方案 二、交换技术1. 交换技术基础2. 交换技术分类3. 广播域相关概念4. ARP 协议5. 三层交换机6. VLAN(虚拟局域网) 三、路由技术1. 路由器端口类型及功能2. 路由器功能3. 路由…...

第3课:运算符与流程控制——JS的“决策者”

一切美好都值得你全力以赴。即使过程艰难,但只要坚持,必有回响。加油! 欢迎来到「JavaScript 魔法学院」第 3 课!今天我们将化身代码世界的“指挥官”,用运算符计算数据,用流程控制做出决策!文…...

VUE3中使用echarts,配置都正确,不出现tooltip

在vue3中使用echarts,出现个别问题,需要注意echars对象的定义,不能使用reactive或者ref定义响应式变量,要使用shallowRef ; shallowRef 是 Vue 3 提供的一个 API,它创建一个响应式引用(ref),但…...

Python实现邮件发送

一、创造灵感 这几天在指导学生做毕业设计,学生做的是跌倒检测。然后我突然想到,如果这个系统只是单纯地从视频流中检测到人的跌倒动作,其实并没有任何的用途和意义。于是,我又想到,如果跌倒的检测结果,能…...

OSPF的优化

OSPF的优化 1、汇总 --- 减少骨干区域LSA的更新量 汇总 --- 区域汇总 域间路由汇总 --- 在ABR设备上,针对3类LSA进行汇总 [r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.252.0 注:在进行域间路由汇总时,必须是ABR设备自己通过拓…...

IP-guard离线卸载客户端及清除策略说明

1、控制台生成客户端工具 控制台选择“工具-客户端工具-客户端离线辅助工具”,可生成客户端离线卸载工具及 离线策略清除工具,打包生成exe后,可在离线的客户端上运行,实现离线情况下对客户端 进行卸载或者清除策略。 在控制台上“…...

腾讯秋招面试题:bug生命周期中有哪些状态?

在软件测试中,Bug生命周期是质量管控的核心脉络。不同企业的流程或有差异,但核心状态遵循行业通用规范。以下以腾讯TAPD缺陷管理模型为基础,结合互联网大厂主流实践,详解Bug生命周期的关键状态及流转逻辑。 一、基础状态图谱 图表 代码 下载 确认有效 非缺陷/需求不符…...

PyCharm 链接 Podman Desktop 的 podman-machine-default Linux 虚拟环境

#工作记录 PyCharm Community 连接到Podman Desktop 的 podman-machine-default Linux 虚拟环境详细步骤 1. 准备工作 确保我们已在 Windows 系统中正确安装并启动了 Podman Desktop。 我们将通过 Podman Desktop 提供的名为 podman-machine-default 的 Fedora Linux 41 WSL…...

学习海康VisionMaster之卡尺工具

一:进一步学习了 今天学习下VisionMaster中的卡尺工具:主要用于测量物体的宽度、边缘的特征的位置以及图像中边缘对的位置和间距 二:开始学习 1:什么是卡尺工具? 如果我需要检测芯片的每一个PIN的宽度和坐标&#xff…...

私有知识库 Coco AI 实战(二):摄入 MongoDB 数据

在之前的文章中,我们介绍过如何使用《 Logstash 迁移 MongoDB 数据到 Easyseach》,既然 Coco AI 后台数据存储也使用 Easysearch,我们能否直接把 MongoDB 的数据迁移到 Coco AI 的 Easysearch,使用 Coco AI 对数据进行检索呢&…...

【C/C++】插件机制:基于工厂函数的动态插件加载

本文介绍了如何通过 C 的 工厂函数、动态库(.so 文件)和 dlopen / dlsym 实现插件机制。这个机制允许程序在运行时动态加载和调用插件,而无需在编译时知道插件的具体类型。 一、 动态插件机制 在现代 C 中,插件机制广泛应用于需要…...

硬核科普丨2025年安全、高效网络准入控制系统深度解析

阳途网络准入控制系统(Network Access Control,简称NAC)是当代网络安全领域的重要工具,有效防止未经授权的访问和数据泄露,保障网络资源的安全性和完整性。本文将深入探讨阳途网络准入控制系统的的重要性和作用。 一、…...

2025知识管理趋势解析:AI、协作与用户体验引领变革

知识管理软件是多元化的商业工具,包括知识库系统、wiki、协作平台、文档管理工具、聊天机器人和帮助系统,针对企业信息爆炸式增长的趋势,这些工具正逐步成为提升知识工作者效率和客户服务水平的关键支撑。 知识成为新资产:知识工…...

杂谈-有感而发

今天又拜读了线性代数的几何意义这本书,感觉确实是很不错的,从几何角度讲解线性代数,而且将线性代数、几何、数学、物理有机结合起来了,不仅仅是可视化,重要的是能便于自己独立思考下去。   从大一开始,就…...

使用nodeJs的express+axios+cors做代理

使用nodeJs的expressaxioscors做代理 前端在请求后端时通常会遇到跨域cors问题,如果只在本地开发可以通过webpack或vite的proxy设置。但如果需要在线上或者其他地方绕过跨域,可以使用代理的方法。 1. 创建文件夹 并创建以下文件 package.json {"…...

SQL进阶知识:四、索引优化

今天介绍下关于索引优化的详细介绍,并结合MySQL数据库提供实际例子。 索引优化是数据库性能优化的关键环节之一,尤其是在处理大量数据时。索引可以加快查询速度,减少数据扫描范围,但不当的索引设计也可能导致性能问题。以下是关于…...

C++初阶-类和对象(下)

目录 1.再探构造函数 2.类型转换 3.友元 4.static成员 5.内部类 6.匿名对象 *7.对象拷贝时的编译器优化(非必学) 8.总结 1.再探构造函数 (1)之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值&#…...

RPC通信原理实战

RPC概念及RPC请求响应流程 RPC概念引入 假设有两个模块,用户和订单 在单体项目中,两个模块被打包到一个包,都处在一个tomcat进程中,用户模块调用订单模块属于同一进程内的本地调用 在微服务项目中,用户模块和订单模…...

自动创建 中国古代故事人物一致性图画,看看扣子的空间是否能达到你的满意,自媒体的福音?

欢迎来到涛涛聊AI 看效果: AI绘画最难的人物一致性问题,每次得到的结果都不一致。 官方介绍: 扣子空间是你和 AI Agent 协同办公的最佳场所。 在扣子空间里,精通各项技能的「通用实习生」,各行各业的「领域专家」&…...

【Unity笔记】Unity音效管理:ScriptableObject配置 + 音量控制 + 编辑器预览播放自动化实现

摘要: 本文介绍了如何在 Unity 中构建一个高效的音效管理系统,通过 ScriptableObject 实现音效集中配置,支持为每个音效单独设置音量,并通过自定义 Editor 实现音效的可视化预览播放与下拉选择播放功能,整个系统无场景…...

面向高可靠场景的RISC-V低功耗MCU硬件安全设计

该RISC-V架构的低功耗MCU通过多项硬件级安全技术满足工业控制、汽车电子及物联网等领域对可靠性与安全性的需求。其核心特性包含六个方面: 在数据完整性验证与固件安全升级方面,该MCU通过硬件级校验机制(如CRC、哈希算法)确保固件…...

OpenVINO教程(五):实现YOLOv11+OpenVINO实时视频目标检测

目录 实现讲解效果展示完整代码 本文作为上篇博客的延续,在之前实现了图片推理的基础上,进一步介绍如何进行视频推理。 实现讲解 首先,我们需要对之前的 predict_and_show_image 函数进行拆分,将图像显示与推理器(pre…...

【新能源科学与技术】MATALB/Simulink小白教程(一)实验文档【新能源电力转换与控制仿真】

DP读书:新能源科学与工程——专业课「新能源发电系统」 2025a 版本 MATLAB下面进入正题 仿真一:Buck 电路一、仿真目的二、仿真内容(一)Buck电路基本构成及工作原理(二)Buck电路仿真模型及元件连接&#xf…...

软件项目实施全流程及交付物清单

需求分析 -> 概要设计 -> 详细设计 -> 开发 -> 测试 -> 部署 -> 上线运行 一、确认项目目标、范围和团队成员 二、收集和分析客户需求,确定需求规格 三、制定详细的项目计划,包括时间表、资源计划、预算 四、系统架构设计&#xf…...

Docker安装ES :确保 Kibana 正确连接 Elasticsearch

在使用 Docker 部署 ELK(Elasticsearch、Logstash、Kibana)堆栈时,正确的服务配置和依赖管理至关重要。本文将分享如何优化 Docker Compose 配置,确保 Kibana 能稳定连接到 Elasticsearch,并提供故障排查建议 cd /opt/…...

云贝餐饮 最新 V3 独立连锁版 全开源 多端源码 VUE 可二开

云贝餐饮源码 最新 V3 独立连锁版 全开源 多端源码 VUE 可二开 vue uniapp 独家优化版本 后台管理 Vue 源文件 后台管理文件 yii2 升级包 (全开源) 收银台 Vue 源文件 装修 Vue 源文件 商家端 uni-app 源文件 用户端 uni-app 源文件 数据库文件 云贝餐饮…...

python异步协程async调用过程图解

1.背景: 项目中有用到协程,但是对于协程,线程,进程的区别还不是特别了解,所以用图示的方式画了出来,用于理清三者的概念。 2.概念理解: 2.1协程,线程,进程包含关系 一…...

【Java学习笔记】选择结构

选择结构 内容结构 一、顺序结构 二、分支控制 (1)单分支 (2)双分支 (3)多分支 (4)嵌套分支 (5)switch 分支结构 三、switch和if的比较 一、顺序结构…...

java Nacos

windows下载nacos,版本2.x的,1.0的话会出现“Server check fail, please check server 127.0.0.1 ,port 9848 is available , error {}” 这个鬼问题 下载链接 这里用的是2.0.4版本,启动的话用 startup.cmd -m standalone,单体启…...

c语言之杂识

前言 主要说一下c语言的杂知识 一、预处理指令 1. #include #include指令用于包含其他头文件的内容到当前文件中。这允许您在程序中使用其他模块定义的函数和变量。 示例&#xff1a; #include <stdio.h> // 包含标准输入输出头文件int main() {printf("Hello…...

CSS内边距、外边距、边框

CSS内边距 内边距 &#xff1a;内容区&#xff08;Content&#xff09;与边框&#xff08;Border&#xff09;之间的透明间距&#xff0c;用于增加元素内部的留白。不影响元素内容本身的尺寸&#xff08;如文字大小&#xff09;&#xff0c;但会增大元素的总占用空间。 以下是…...

融山科技前端面经

前端面试问题解答 这次是波珠的第三次面试&#xff0c;持续打怪升级&#xff0c;积累面试中面试官问到的不会的点子。 1.自我介绍 面试官您好&#xff0c;我是来自XX学校XX专业本科的XX名字&#xff0c;然后介绍在学校情况&#xff0c;我就介绍了大一自学前端&#xff0c;然…...

元素滚动和内容垂直居中同时存在,完美的 html 元素垂直居中的方法flex + margin: auto

假设有一个元素 div 作为父容器且宽高固定&#xff0c;里面的内容 content 在父容器中垂直/水平都居中&#xff0c;且当内容很多时&#xff0c;父元素滚动overflow: auto&#xff0c;content的内容要能够完全展示。 我之前在这篇文档提到了两个方法&#xff1a; 使用 flex s…...

STM32F103 单片机(基于 ARM Cortex-M3 内核)的启动过程涉及硬件初始化、固件配置和程序执行流程。

1. 启动模式与地址映射 STM32F103 的启动模式由 BOOT0 和 BOOT1 引脚配置决定&#xff0c;不同的启动模式对应不同的存储器映射&#xff1a; 启动模式 映射地址范围 说明 主 Flash 0x08000000~0x0807FFFF 用户程序存储在 Flash 中&#xff0c;复位后从 Flash 启动&#xff08…...

c++中iota容器和fill的区别

在C 中&#xff0c;std::iota 和 std::fill 都是标准库中的函数&#xff0c;用于对序列进行操作&#xff0c;它们的功能和用法如下&#xff1a; std::iota 功能&#xff1a;std::iota 函数用于将一个连续的递增序列赋值给指定范围的元素。它接受三个参数&#xff0c;第一个参…...

Kafka集群

kafka集群: kafka-server-start.sh;kafka-server-stop.sh cd/opt/software/kafka/ kafka.sh上传:cd /usr/local/bin/ 执行文件变成绿色&#xff1a;chmod 777 kafka.sh Kafka.sh start Xcall.sh jps...

多源数据集成技术分析与应用实践探索

摘要&#xff1a;本文聚焦多源数据集成技术&#xff0c;深入剖析联邦式、基于中间件模型及数据仓库三类主流技术的侧重点与应用场景。通过实际案例阐述多源数据集成应用构建过程&#xff0c;旨在为企业数据整合与共享提供理论指导与实践参考&#xff0c;助力企业提升数据利用效…...

UniOcc:自动驾驶占用预测和预报的统一基准

25年3月来自 UC Riverside、U Wisconsin 和 TAMU 的论文"UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous Driving"。 UniOcc 是一个全面统一的占用预测基准&#xff08;即基于历史信息预测未来占用&#xff09;和基于摄像头图…...

反向代理和DDNS的区别是什么?

反向代理&#xff08;Reverse Proxy&#xff09;和动态域名解析&#xff08;DDNS&#xff0c;Dynamic Domain Name System&#xff09;是两种不同的网络技术&#xff0c;虽然它们都与外部访问内部服务相关&#xff0c;但解决的问题和应用场景完全不同。具体区别如下&#xff1a…...

markdown展示数学公式

要让Markdown正确展示数学公式&#xff0c;你需要使用支持数学公式渲染的工具&#xff0c;比如在支持LaTeX语法的Markdown编辑器中进行编写。 Markdown本身并不原生支持数学公式的渲染&#xff0c;但许多Markdown解析器&#xff08;例如在GitHub、Jupyter Notebooks、或一些博…...

服务器编译环境配置及数据接收脚本编写(11)

文章目录 一、本章说明二、云端服务器Python编译环境配置三、传感数据解析脚本编写一、本章说明 注:本节为【基于STM的环境监测系统(节点+云服务器存储+QT界面设计)】项目第11篇文章,上面两篇介绍了云服务器数据库的安装与相关设置,本章主要介绍在服务器中安装Python编译…...

硬件基本概念

目录 基本概念 电压 电流 串联、并联 欧姆定律 电路仿真网址&#xff1a; 功率 焦耳定律 AC220V 转 DC5V 基本电子元器件了解 电阻&#xff1a;&#xff08;电阻器&#xff09; 电容 电感 继电器 二极管 三极管 晶振&#xff08;晶体振荡器&#xff09; 光耦…...

Spark与Hadoop之间的联系与区别

联系 生态系统互补&#xff1a; Hadoop 是一个分布式存储和计算平台&#xff0c;主要包括 HDFS&#xff08;分布式文件系统&#xff09;和 MapReduce&#xff08;分布式计算框架&#xff09;。Hadoop 提供了可靠的数据存储和分布式计算的基础。 Spark 是一个高性能的分布式计算…...

spark和Hadoop之间的对比与联系

对比 计算模型&#xff1a; Hadoop&#xff1a;采用MapReduce计算模型&#xff0c;分map与reduce两个阶段&#xff0c;数据处理按阶段顺序执行&#xff0c;数据处理按阶段顺序执行&#xff0c;中间结果会写入磁盘&#xff0c;I/O开销大。 Spark&#xff1a;基于弹性分布式数…...

0802api设计和实战-网络ajax请求1-react-仿低代码平台项目

文章目录 1 API设计1.1 用户功能1.1.1 获取用户信息1.1.2 注册1.1.3 登录 1.2 问卷功能1.2.1 获取单个问卷1.2.2 获取问卷列表1.2.3 创建问卷1.2.4 更新问卷1.2.5 批量彻底删除问卷1.2.6 复制问卷 1.3 小结 2 实战2.1配置axios2.2 封装API和测试2.3 新建问卷2.4 自定义hooks封装…...

什么是CAN的非破坏仲裁?

‌CAN总线的非破坏性仲裁‌是一种在多个设备同时发送数据时&#xff0c;通过标识符&#xff08;ID&#xff09;优先级来决定哪个设备可以优先发送数据的机制。其核心思想是&#xff1a;当多个设备同时发送数据时&#xff0c;ID值较小的数据具有更高的优先级&#xff0c;能够优先…...

无线监控系统分类全解析:搭配视频融合平台EasyCVR开启高效监控

随着技术的发展&#xff0c;无线监控系统在家庭、小型企业、特定行业以及室外恶劣环境中的应用越来越广泛。本文将介绍几种常见的无线监控系统&#xff0c;分析其优缺点&#xff0c;并结合EasyCVR视频融合平台的功能&#xff0c;探讨如何优化无线监控系统的性能和应用。 一、主…...

并行RANSAC平面拟合(C++)

依赖库 1&#xff09;Eigen 2&#xff09;GLM 算法大致思路 Step 1&#xff1a;源点云随机采样3个点&#xff1b; Step 2&#xff1a;3个点拟合平面&#xff0c;统计符合该平面模型的点&#xff0c;为inlier点&#xff1b; Step 3&#xff1a;判断inlier点比例是否达到阈…...

Docker核心技术精讲:从入门到企业级实战

&#xfeff;第一章>Docker概述 第二章>Docker安装与镜像下载加速 第三章>镜像 第四章>容器 第五章>发布镜像到阿里云或私有化仓库 第六章>容器卷 第七章>Docker安装常用软件 第八章>Docker高级版-Mysql主从复制、Redis主从、分布式存储 第九章>Doc…...