大数据领域中 Eureka 的服务注册与发现的容灾备份方案

大数据领域中 Eureka 的服务注册与发现的容灾备份方案

关键词:大数据、Eureka、服务注册与发现、容灾备份方案、高可用性

摘要:在大数据领域,服务的注册与发现是构建分布式系统的关键环节,Eureka 作为 Netflix 开源的服务注册与发现组件,被广泛应用。然而,为了确保系统在面对各种故障时仍能稳定运行,容灾备份方案至关重要。本文深入探讨了大数据领域中 Eureka 的服务注册与发现的容灾备份方案,详细介绍了 Eureka 的核心概念、算法原理、数学模型,通过项目实战展示了具体实现过程,分析了实际应用场景,推荐了相关工具和资源,最后总结了未来发展趋势与挑战,并解答了常见问题。

1. 背景介绍

1.1 目的和范围

在大数据环境下,分布式系统的规模不断扩大,服务数量急剧增加。Eureka 作为服务注册与发现的核心组件,承担着维护服务信息、实现服务之间相互发现的重要任务。但单点的 Eureka 服务存在单点故障的风险,一旦出现问题,可能导致整个服务发现机制失效,影响系统的正常运行。因此,本方案的目的是设计一套有效的容灾备份方案,确保 Eureka 在各种故障情况下仍能提供稳定的服务注册与发现功能。本方案的范围涵盖了 Eureka 服务的集群部署、数据备份、故障恢复等方面。

1.2 预期读者

本文预期读者包括大数据领域的开发人员、系统架构师、运维人员等。对于希望了解 Eureka 服务注册与发现机制以及如何构建容灾备份方案的技术人员,本文将提供详细的技术指导和实践经验。

1.3 文档结构概述

本文将按照以下结构进行组织:首先介绍 Eureka 的核心概念与联系,包括其原理和架构;接着详细阐述核心算法原理和具体操作步骤,并使用 Python 代码进行说明;然后给出相关的数学模型和公式,并举例说明;通过项目实战展示容灾备份方案的具体实现过程,包括开发环境搭建、源代码详细实现和代码解读;分析 Eureka 容灾备份方案在实际中的应用场景;推荐相关的工具和资源;最后总结未来发展趋势与挑战,解答常见问题,并提供扩展阅读和参考资料。

1.4 术语表

1.4.1 核心术语定义
  • Eureka:Netflix 开源的服务注册与发现组件,用于维护服务的注册信息,实现服务之间的相互发现。
  • 服务注册:服务提供者将自身的服务信息(如服务名称、IP 地址、端口号等)注册到 Eureka 服务器的过程。
  • 服务发现:服务消费者从 Eureka 服务器获取服务提供者信息的过程。
  • 容灾备份:为了防止系统因各种故障(如硬件故障、网络故障、软件故障等)而导致服务中断,采取的一系列备份和恢复措施。
  • 高可用性:系统在规定的条件和时间内,完成规定功能的能力,确保系统在面对各种故障时仍能正常运行。
1.4.2 相关概念解释
  • 集群:将多个 Eureka 服务器组成一个集群,通过相互复制数据,实现服务注册信息的共享和容错。
  • 心跳机制:服务提供者定期向 Eureka 服务器发送心跳请求,表明自己仍然存活。如果 Eureka 服务器在一定时间内没有收到服务提供者的心跳请求,则认为该服务实例已经失效,并将其从服务注册表中移除。
  • 自我保护机制:当 Eureka 服务器在短时间内丢失大量客户端连接(如因网络故障等原因)时,会触发自我保护机制,不再从服务注册表中移除因长时间未收到心跳而过期的服务实例,以防止误删服务信息。
1.4.3 缩略词列表
  • HA:High Availability,高可用性
  • REST:Representational State Transfer,表述性状态转移

2. 核心概念与联系

2.1 Eureka 架构原理

Eureka 采用客户端 - 服务器(Client - Server)架构,主要由 Eureka 服务器和 Eureka 客户端组成。

2.1.1 Eureka 服务器

Eureka 服务器是服务注册中心,负责维护服务的注册信息。多个 Eureka 服务器可以组成一个集群,通过相互复制数据,实现服务注册信息的共享和容错。当一个新的服务实例注册到 Eureka 服务器时,该服务器会将服务信息同步到集群中的其他服务器。

2.1.2 Eureka 客户端

Eureka 客户端包括服务提供者和服务消费者。服务提供者在启动时会向 Eureka 服务器注册自己的服务信息,并定期发送心跳请求,以保持与 Eureka 服务器的连接。服务消费者在启动时会从 Eureka 服务器获取服务提供者的信息,并根据这些信息调用服务。

2.2 Eureka 架构示意图

Eureka集群

Eureka Server 1

Eureka Server 2

Eureka Server 3

服务提供者 1

服务提供者 2

服务消费者 1

服务消费者 2

该示意图展示了 Eureka 的架构,包括 Eureka 服务器集群和多个服务提供者、服务消费者。服务提供者向 Eureka 服务器注册服务信息,服务消费者从 Eureka 服务器获取服务信息。

2.3 核心概念之间的联系

服务注册是服务提供者与 Eureka 服务器之间的交互过程,服务提供者将自身的服务信息发送给 Eureka 服务器进行注册。服务发现是服务消费者与 Eureka 服务器之间的交互过程,服务消费者从 Eureka 服务器获取服务提供者的信息。容灾备份方案则是为了确保 Eureka 服务器在出现故障时,服务注册与发现功能仍能正常运行,通过集群部署和数据备份等方式实现。

3. 核心算法原理 & 具体操作步骤

3.1 核心算法原理

Eureka 的核心算法主要包括服务注册算法、服务续约算法和服务剔除算法。

3.1.1 服务注册算法

服务提供者在启动时,会向 Eureka 服务器发送一个 POST 请求,将自己的服务信息(如服务名称、IP 地址、端口号等)注册到 Eureka 服务器。Eureka 服务器接收到请求后,会将服务信息存储在本地的服务注册表中,并将该信息同步到集群中的其他服务器。

以下是一个使用 Python 模拟服务注册的示例代码:

importrequests# Eureka 服务器地址eureka_server_url="http://localhost:8761/eureka/apps"# 服务信息service_info={"instance":{"app":"MyService","hostName":"localhost","ipAddr":"127.0.0.1","port":{"$":8080,"@enabled":"true"},"status":"UP"}}# 发送服务注册请求response=requests.post(eureka_server_url,json=service_info)ifresponse.status_code==204:print("服务注册成功")else:print(f"服务注册失败,状态码:{response.status_code}")
3.1.2 服务续约算法

服务提供者在注册成功后,会定期向 Eureka 服务器发送一个 PUT 请求,进行服务续约。Eureka 服务器接收到续约请求后,会更新服务实例的最后一次心跳时间。如果 Eureka 服务器在一定时间内没有收到服务提供者的续约请求,则认为该服务实例已经失效。

以下是一个使用 Python 模拟服务续约的示例代码:

importrequestsimporttime# Eureka 服务器地址eureka_server_url="http://localhost:8761/eureka/apps/MyService/localhost:8080"whileTrue:# 发送服务续约请求response=requests.put(eureka_server_url)ifresponse.status_code==200:print("服务续约成功")else:print(f"服务续约失败,状态码:{response.status_code}")# 每隔 30 秒续约一次time.sleep(30)
3.1.3 服务剔除算法

Eureka 服务器会定期检查服务实例的最后一次心跳时间,如果在一定时间内(默认 90 秒)没有收到服务提供者的心跳请求,则认为该服务实例已经失效,并将其从服务注册表中移除。

3.2 具体操作步骤

3.2.1 搭建 Eureka 服务器集群
  • 下载 Eureka 服务器的 JAR 包。
  • 配置多个 Eureka 服务器的配置文件,指定服务器之间的相互注册地址。
  • 启动多个 Eureka 服务器实例,形成一个集群。
3.2.2 服务提供者注册服务
  • 在服务提供者的项目中引入 Eureka 客户端依赖。
  • 配置 Eureka 客户端的注册信息,包括 Eureka 服务器地址、服务名称等。
  • 在服务提供者启动时,自动向 Eureka 服务器注册服务信息。
3.2.3 服务消费者发现服务
  • 在服务消费者的项目中引入 Eureka 客户端依赖。
  • 配置 Eureka 客户端的发现信息,包括 Eureka 服务器地址。
  • 在服务消费者启动时,从 Eureka 服务器获取服务提供者的信息,并根据这些信息调用服务。

4. 数学模型和公式 & 详细讲解 & 举例说明

4.1 服务可用性数学模型

服务可用性是衡量系统在规定的条件和时间内,完成规定功能的能力。通常用公式表示为:
A=MTTFMTTF+MTTRA = \frac{MTTF}{MTTF + MTTR}A=MTTF+MTTRMTTF
其中,AAA表示服务可用性,MTTFMTTFMTTF表示平均无故障时间,MTTRMTTRMTTR表示平均修复时间。

4.2 详细讲解

平均无故障时间(MTTFMTTFMTTF)是指系统在两次故障之间正常运行的平均时间,反映了系统的可靠性。平均修复时间(MTTRMTTRMTTR)是指系统从发生故障到恢复正常运行所需的平均时间,反映了系统的可维护性。服务可用性AAA的值越接近 1,表示系统的可用性越高。

4.3 举例说明

假设一个 Eureka 服务器的平均无故障时间为 8760 小时(一年),平均修复时间为 1 小时。则该 Eureka 服务器的服务可用性为:
A=87608760+1≈0.9999A = \frac{8760}{8760 + 1} \approx 0.9999A=8760+187600.9999
这意味着该 Eureka 服务器在一年中大约有 99.99% 的时间可以正常运行。

4.4 容灾备份对服务可用性的影响

通过容灾备份方案,可以降低系统的平均修复时间(MTTRMTTRMTTR)。例如,采用 Eureka 服务器集群和数据备份技术,当一个 Eureka 服务器出现故障时,可以快速切换到其他服务器,减少系统的停机时间。假设采用容灾备份方案后,系统的平均修复时间降低到 0.1 小时,则服务可用性变为:
A=87608760+0.1≈0.99999A = \frac{8760}{8760 + 0.1} \approx 0.99999A=8760+0.187600.99999
可以看出,容灾备份方案显著提高了系统的服务可用性。

5. 项目实战:代码实际案例和详细解释说明

5.1 开发环境搭建

5.1.1 开发工具
  • JDK:Java 开发工具包,建议使用 JDK 8 及以上版本。
  • Maven:项目管理工具,用于管理项目的依赖和构建。
  • IDE:推荐使用 IntelliJ IDEA 或 Eclipse。
5.1.2 依赖配置

在项目的pom.xml文件中添加 Eureka 相关依赖:

<dependencies><!-- Eureka 服务器依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!-- Eureka 客户端依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies>

5.2 源代码详细实现和代码解读

5.2.1 Eureka 服务器配置

创建一个 Spring Boot 项目,在主类上添加@EnableEurekaServer注解,启用 Eureka 服务器功能:

importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication@EnableEurekaServerpublicclassEurekaServerApplication{publicstaticvoidmain(String[]args){SpringApplication.run(EurekaServerApplication.class,args);}}

application.propertiesapplication.yml中配置 Eureka 服务器信息:

server:port:8761eureka:instance:hostname:localhostclient:register-with-eureka:falsefetch-registry:falseservice-url:defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/

代码解读:

  • @EnableEurekaServer注解用于启用 Eureka 服务器功能。
  • register-with-eureka: false表示该 Eureka 服务器不需要向其他 Eureka 服务器注册自己。
  • fetch-registry: false表示该 Eureka 服务器不需要从其他 Eureka 服务器获取服务注册信息。
  • service-url.defaultZone指定了 Eureka 服务器的地址。
5.2.2 服务提供者配置

创建一个 Spring Boot 项目,在主类上添加@EnableEurekaClient注解,启用 Eureka 客户端功能:

importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.eureka.client.EnableEurekaClient;@SpringBootApplication@EnableEurekaClientpublicclassServiceProviderApplication{publicstaticvoidmain(String[]args){SpringApplication.run(ServiceProviderApplication.class,args);}}

application.propertiesapplication.yml中配置服务提供者信息:

server:port:8080spring:application:name:my-serviceeureka:client:service-url:defaultZone:http://localhost:8761/eureka/

代码解读:

  • @EnableEurekaClient注解用于启用 Eureka 客户端功能。
  • spring.application.name指定了服务的名称。
  • eureka.client.service-url.defaultZone指定了 Eureka 服务器的地址。
5.2.3 服务消费者配置

创建一个 Spring Boot 项目,在主类上添加@EnableEurekaClient注解,启用 Eureka 客户端功能:

importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.netflix.eureka.client.EnableEurekaClient;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;importorg.springframework.web.client.RestTemplate;@SpringBootApplication@EnableEurekaClient@RestControllerpublicclassServiceConsumerApplication{privatefinalRestTemplaterestTemplate=newRestTemplate();@GetMapping("/call-service")publicStringcallService(){StringserviceUrl="http://my-service";returnrestTemplate.getForObject(serviceUrl,String.class);}publicstaticvoidmain(String[]args){SpringApplication.run(ServiceConsumerApplication.class,args);}}

application.propertiesapplication.yml中配置服务消费者信息:

server:port:8081eureka:client:service-url:defaultZone:http://localhost:8761/eureka/

代码解读:

  • @EnableEurekaClient注解用于启用 Eureka 客户端功能。
  • restTemplate.getForObject("http://my-service", String.class)通过服务名称调用服务提供者的接口,Eureka 客户端会自动将服务名称解析为具体的服务实例地址。

5.3 代码解读与分析

5.3.1 Eureka 服务器

Eureka 服务器通过@EnableEurekaServer注解启用,它负责接收服务提供者的注册请求,并维护服务注册表。通过配置register-with-eurekafetch-registry可以控制服务器是否需要向其他服务器注册和获取服务信息。

5.3.2 服务提供者

服务提供者通过@EnableEurekaClient注解启用,在启动时会自动向 Eureka 服务器注册自己的服务信息。通过配置spring.application.name指定服务名称,eureka.client.service-url.defaultZone指定 Eureka 服务器地址。

5.3.3 服务消费者

服务消费者通过@EnableEurekaClient注解启用,在启动时会从 Eureka 服务器获取服务提供者的信息。通过RestTemplate可以根据服务名称调用服务提供者的接口,Eureka 客户端会自动进行服务发现和负载均衡。

6. 实际应用场景

6.1 微服务架构

在微服务架构中,各个微服务之间需要进行相互调用。Eureka 作为服务注册与发现的组件,可以帮助微服务快速发现其他服务的地址,实现服务之间的通信。通过容灾备份方案,可以确保 Eureka 在出现故障时,微服务之间的通信不会中断,提高系统的稳定性和可靠性。

6.2 大数据处理平台

大数据处理平台通常由多个组件组成,如数据采集、数据存储、数据分析等。这些组件之间需要进行协调和通信。Eureka 可以用于管理这些组件的服务信息,实现组件之间的自动发现和调用。容灾备份方案可以保证在某个组件出现故障时,整个大数据处理平台仍能正常运行。

6.3 云计算环境

在云计算环境中,服务的动态性较强,服务的创建和销毁频繁。Eureka 可以实时跟踪服务的状态,为云计算环境提供灵活的服务注册与发现功能。容灾备份方案可以应对云计算环境中的各种故障,确保服务的高可用性。

7. 工具和资源推荐

7.1 学习资源推荐

7.1.1 书籍推荐
  • 《Spring Cloud 微服务实战》:详细介绍了 Spring Cloud 生态系统,包括 Eureka 的使用和原理。
  • 《Netflix 云原生架构实践》:深入探讨了 Netflix 的开源技术,包括 Eureka、Zuul 等。
7.1.2 在线课程
  • 慕课网的《Spring Cloud 微服务架构实战》:通过实际项目案例,讲解了 Spring Cloud 中 Eureka 的使用和容灾备份方案。
  • 网易云课堂的《大数据分布式系统架构设计》:介绍了大数据领域中分布式系统的架构设计,包括服务注册与发现的相关知识。
7.1.3 技术博客和网站
  • Spring 官方博客:提供了 Spring Cloud 相关的最新技术文章和文档。
  • InfoQ:关注云计算、大数据等领域的技术动态,有很多关于 Eureka 的技术文章和案例分析。

7.2 开发工具框架推荐

7.2.1 IDE和编辑器
  • IntelliJ IDEA:功能强大的 Java 开发工具,对 Spring Boot 和 Spring Cloud 有很好的支持。
  • Eclipse:开源的集成开发环境,广泛应用于 Java 开发。
7.2.2 调试和性能分析工具
  • VisualVM:用于监控和分析 Java 应用程序的性能,可帮助调试 Eureka 相关的问题。
  • Spring Boot Actuator:提供了对 Spring Boot 应用程序的监控和管理功能,可用于监控 Eureka 客户端和服务器的运行状态。
7.2.3 相关框架和库
  • Spring Cloud:提供了一系列的微服务开发工具,包括 Eureka、Zuul、Ribbon 等。
  • Netflix OSS:Netflix 开源的一系列技术组件,是 Eureka 的基础。

7.3 相关论文著作推荐

7.3.1 经典论文
  • 《Netflix: Building and Operating a Large-Scale Content Delivery Platform》:介绍了 Netflix 的大规模内容分发平台的架构和实现,其中包括 Eureka 的应用。
  • 《Microservices: A Definition of This New Architectural Term》:对微服务架构进行了详细的定义和分析,探讨了服务注册与发现的重要性。
7.3.2 最新研究成果
  • 各大学术数据库(如 IEEE Xplore、ACM Digital Library 等)上搜索关于服务注册与发现、容灾备份的最新研究论文。
7.3.3 应用案例分析
  • 一些开源项目的文档和博客文章,如 Spring Cloud 官方文档中的案例分析,展示了 Eureka 在实际项目中的应用。

8. 总结:未来发展趋势与挑战

8.1 未来发展趋势

8.1.1 与其他技术的融合

Eureka 可能会与其他新兴技术(如容器技术、无服务器计算等)进行更深入的融合,为分布式系统提供更强大的服务注册与发现功能。例如,结合 Kubernetes 实现容器化应用的服务注册与发现。

8.1.2 智能化管理

未来的 Eureka 可能会引入人工智能和机器学习技术,实现服务的智能化管理。例如,通过分析服务的运行状态和性能数据,自动调整服务的注册和发现策略。

8.1.3 跨云服务支持

随着企业对多云和混合云环境的需求增加,Eureka 可能会支持跨云服务的注册与发现,实现不同云环境下服务的无缝集成。

8.2 挑战

8.2.1 数据一致性问题

在 Eureka 集群中,数据的一致性是一个挑战。当多个 Eureka 服务器之间的数据同步出现延迟或不一致时,可能会导致服务发现错误。需要采用更有效的数据同步算法和机制来解决这个问题。

8.2.2 安全性问题

随着分布式系统的发展,服务的安全性越来越重要。Eureka 需要加强对服务注册与发现过程的安全保护,防止服务信息被泄露和篡改。

8.2.3 大规模集群管理

在大规模的分布式系统中,Eureka 集群的管理和维护变得更加复杂。需要开发更高效的管理工具和算法,以确保集群的稳定运行。

9. 附录:常见问题与解答

9.1 Eureka 服务器出现故障后如何恢复?

当 Eureka 服务器出现故障时,可以通过以下步骤进行恢复:

  • 检查服务器的硬件和网络状态,确保服务器正常运行。
  • 重启 Eureka 服务器实例,服务器会自动从其他服务器同步服务注册信息。
  • 如果有数据备份,可以从备份中恢复服务注册信息。

9.2 服务提供者和服务消费者如何感知 Eureka 服务器的故障?

服务提供者和服务消费者可以通过心跳机制和异常处理来感知 Eureka 服务器的故障。当服务提供者或服务消费者在一定时间内无法与 Eureka 服务器建立连接或接收响应时,会触发异常处理逻辑,提示 Eureka 服务器可能出现故障。

9.3 如何确保 Eureka 集群的数据一致性?

可以通过以下方法确保 Eureka 集群的数据一致性:

  • 采用高效的数据同步算法,如基于 Paxos 或 Raft 算法的同步机制。
  • 定期检查集群中各个服务器的数据状态,发现不一致时及时进行修复。
  • 限制服务注册和发现的并发操作,减少数据冲突的可能性。

10. 扩展阅读 & 参考资料

10.1 扩展阅读

  • 《分布式系统原理与范型》:深入介绍了分布式系统的原理和设计方法,有助于理解 Eureka 的工作机制。
  • 《云原生技术实践》:探讨了云原生环境下的技术应用和实践,包括服务注册与发现的相关内容。

10.2 参考资料

  • Spring Cloud 官方文档:https://spring.io/projects/spring-cloud
  • Netflix Eureka 官方文档:https://github.com/Netflix/eureka
  • 各大技术论坛和社区,如 Stack Overflow、GitHub 等,有很多关于 Eureka 的技术讨论和开源项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1155606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某程旅行小程序爬虫技术解析与实战案例

一、小程序爬虫核心技术认知 1. 小程序与传统 Web 爬虫的核心差异 传统 Web 爬虫主要针对 PC 端或移动端网页&#xff0c;基于 HTML 解析、Cookie 维持、HTTP/HTTPS 请求模拟即可完成大部分数据抓取工作。而小程序爬虫的核心差异体现在三个方面&#xff1a; 传输协议与数据格式…

当代人 “最放不下的前任”

1️⃣ 明明知道吃了胖&#xff0c;却还是忍不住想点那家外卖&#x1f35f;2️⃣ 一直深信能自律&#xff0c;是我做过最自欺欺人的事⏰3️⃣ 嘴上说着要省钱&#xff0c;手却诚实点开购物车&#x1f6d2;4️⃣ 别人问起熬不熬夜&#xff0c;我总说早就早睡&#xff0c;其实在刷…

Python系列Bug修复|如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torchaudio’ 问题

摘要 本文聚焦pip install安装torchaudio后&#xff08;或导入torchaudio时&#xff09;出现的ModuleNotFoundError: No module named torchaudio报错&#xff0c;该问题核心是Python解释器在当前运行环境的模块查找路径&#xff08;sys.path&#xff09;中找不到torchaudio模…

算法题 和相同的二元子数组

930. 和相同的二元子数组 问题描述 给你一个二元数组 nums 和一个整数 goal&#xff0c;请你统计并返回有多少个非空连续子数组的和等于 goal。 示例&#xff1a; 输入: nums [1,0,1,0,1], goal 2 输出: 4 解释: 有4个满足要求的子数组: [1,0,1], [1,0,1,0], [0,1,0,1], [1,0…

【毕业设计】基于深度学习卷积神经网络天上飞的识别基于python-CNN深度学习卷积神经网络天上飞的识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

计算机毕业设计springboot财务管理系统 基于SpringBoot的企业财务一体化运营平台 SpringBoot驱动的智能记账与资金管控系统

计算机毕业设计springboot财务管理系统&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。手工做账、Excel满天飞、审批靠签字&#xff0c;月底关账夜夜通宵&#xff1f;把凭证、发票…

AI学习笔记整理(45)——大模型数据读取技术与模型部署

数据读取技术 大模型中的数据读取技术涉及从多样化数据源高效获取和加载数据&#xff0c;是模型训练与推理的基础环节。以下从数据源类型、关键技术方法及工具实践等方面进行说明。 ‌数据源类型与采集方法&#xff1a;‌ 大模型训练数据主要来源于结构化与非结构化数据源。结…

计算机深度学习毕设实战-基于python-CNN机器学习卷积神经网络对蔬菜识别基于python-CNN卷积神经网络对蔬菜识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

江苏硕晟LIMS:全力响应资质认定政策,打造生态环境监测信息管理典范

政策背景与核心要求当下&#xff0c;生态环境监测作为生态治理的核心支撑&#xff0c;其重要性愈发凸显。检验检测机构资质认定生态环境监测机构知识库所提出的各项要求&#xff0c;已成为规范行业发展、保障监测质量的关键准则&#xff0c;其中第十七条更是针对监测机构使用信…

Python系列Bug修复|如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torchvision’ 问题

摘要 本文聚焦pip install安装torchvision后&#xff08;或导入torchvision时&#xff09;出现的ModuleNotFoundError: No module named torchvision报错&#xff0c;该问题核心是Python解释器在当前运行环境的模块查找路径&#xff08;sys.path&#xff09;中找不到torchvisi…

企业防泄密软件都有哪些?这六款防泄密软件帮您解决泄密难题!

企业电脑终端藏着半壁江山的核心资产 —— 客户资料、研发方案、商业机密全在这&#xff0c;可员工摸鱼低效、文件随意外传的风险也如影随形。选对监控软件能少走太多弯路&#xff01;2026 实测 6 款高适配工具&#xff0c;既解决员工管理难题&#xff0c;又筑牢数据安全防线&a…

借助AI智能技术,十大专业降重网站提供免费试用服务,帮助用户快速完成文本改写任务

排名 工具名称 降重效率 特色功能 适用场景 免费额度 1 aibiye ⭐⭐⭐⭐⭐ AIGC查重降重双功能 学术论文深度优化 首次免费检测 2 aicheck ⭐⭐⭐⭐ 多维度重复率分析 日常作业/论文初稿 每日3000字免费 3 笔启AI ⭐⭐⭐⭐ 长文记忆多语种支持 硕博论文/…

Python系列Bug修复|如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torch’ 问题

摘要 本文聚焦pip install安装torch&#xff08;PyTorch&#xff09;后&#xff08;或导入torch时&#xff09;出现的ModuleNotFoundError: No module named torch报错&#xff0c;该问题核心是Python解释器在当前运行环境的模块查找路径&#xff08;sys.path&#xff09;中找…

Python系列Bug修复|如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torch’ 问题

摘要 本文聚焦pip install安装torch&#xff08;PyTorch&#xff09;后&#xff08;或导入torch时&#xff09;出现的ModuleNotFoundError: No module named torch报错&#xff0c;该问题核心是Python解释器在当前运行环境的模块查找路径&#xff08;sys.path&#xff09;中找…

计算机毕业设计springboot材料分析知识系统 基于SpringBoot的材料智能解析与知识共享平台 SpringBoot驱动的材料数据挖掘与性能评估系统

计算机毕业设计springboot材料分析知识系统 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。传统“试-错”研发模式让一种新合金从实验室到产线动辄三五年&#xff0c;背后是海量…

ssh 远程服务器,permission deny

这个报错是 权限被拒绝&#xff08;Permission denied&#xff09;&#xff0c;核心原因是 Jenkins 运行用户&#xff08;如jenkins&#xff09;在通过 SSH/SCP 连接生产服务器时&#xff0c;认证失败&#xff08;密码错误、SSH 密钥未配置&#xff0c;或生产服务器的root用户禁…

这十大降重平台凭借AI智能改写功能脱颖而出,并提供免费试用,满足用户对高质量文本的需求

排名 工具名称 降重效率 特色功能 适用场景 免费额度 1 aibiye ⭐⭐⭐⭐⭐ AIGC查重降重双功能 学术论文深度优化 首次免费检测 2 aicheck ⭐⭐⭐⭐ 多维度重复率分析 日常作业/论文初稿 每日3000字免费 3 笔启AI ⭐⭐⭐⭐ 长文记忆多语种支持 硕博论文/…

企业级CI/CD工具选型:Argo CD vs Tekton vs Arbess

面对众多的CI/CD工具&#xff0c;如何根据功能、价格和易用性做出选择&#xff1f;本文旨在通过多款工具的横向对比&#xff0c;为你提供清晰的梳理与参考。1、Argo CD 1.1 产品介绍Argo CD 是一款基于 GitOps 模型的 Kubernetes 持续交付工具&#xff0c;通过声明式配置实现应…

企业级CI/CD工具选型:Argo CD vs Tekton vs Arbess

面对众多的CI/CD工具&#xff0c;如何根据功能、价格和易用性做出选择&#xff1f;本文旨在通过多款工具的横向对比&#xff0c;为你提供清晰的梳理与参考。1、Argo CD 1.1 产品介绍Argo CD 是一款基于 GitOps 模型的 Kubernetes 持续交付工具&#xff0c;通过声明式配置实现应…

计算机深度学习毕设实战-基于python-CNN深度学习卷积神经网络天上飞的识别基于python卷积神经网络天上飞的识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…