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

SpringCloud系列篇:入门讲解Spring Cloud是什么

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于SpringCloud的相关操作吧 

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

 一.Spring Cloud是什么

二.Spring Cloud的详解

生活例子

例子分析

结合说明Spring Cloud     

三.Spring Cloud的核心组件

1、注册中心组件

2、负载均衡组件

3、熔断器组件(断路器)

4、网关服务组件

5、配置中心

四.Spring Cloud 关系

1.Spring Cloud Netflix 第一代

2.Spring Cloud Alibaba 第二代

(1)阿里开源组件

(2)阿里商业化组件


一.Spring Cloud是什么

        Spring Cloud是基于Spring框架的一套用于快速构建分布式系统的开发工具集。它提供了常用的分布式系统模式,如服务注册与发现、配置中心、负载均衡、断路器、网关等,同时也支持各种云平台的集成,例如AWS、Azure、Google Cloud等。

        Spring Cloud主要关注以下几个方面:

  1. 服务注册和发现:Spring Cloud提供了服务注册和发现的功能,使得微服务能够动态地注册自己的服务实例,并能够自动发现和调用其他服务。

  2. 配置管理:Spring Cloud提供了集中式的配置管理功能,可以方便地管理微服务的配置信息,支持动态刷新配置。

  3. 负载均衡:Spring Cloud集成了负载均衡的功能,可以将请求均匀地分发到多个服务实例上,提高系统的可用性和性能。

  4. 断路器:Spring Cloud提供了断路器模式的实现,用于处理微服务之间的故障和延迟,提高系统的容错性。

  5. 链路追踪:Spring Cloud支持分布式链路追踪,可以跟踪并记录微服务之间的调用关系,方便排查和解决问题。

通过使用Spring Cloud,开发人员可以更方便地构建和管理分布式系统,降低系统之间的耦合度,提高系统的可伸缩性和可维护性

二.Spring Cloud的详解

        如果单说Spring Cloud的定义以及它的组件的话,好像都不是很好理解,感觉都太官方了,所以我这里按照自己的理解,给大家举一个通俗易懂的例子


生活例子

假设你有一个大型餐厅,每天会有很多顾客光顾

为了提供更好的服务和管理,你决定将餐厅分为几个部分

点餐台

厨房

结账台

以上每个部分都有自己的任务和职责

  • 在这里,点餐台可以看作是一个服务,负责接受顾客的点餐请求。
  • 而厨房是另一个服务,负责根据点餐台的请求来烹饪食物。
  • 结账台也是一个服务,负责收银和处理支付。

每个服务都有自己的工作,但是它们需要相互协作才能完成整个服务流程

现在,如果有一个新的顾客来到餐厅,他会去点餐台进行点餐,并将点餐信息传递给厨房。厨房根据点餐信息准备食物,并将完成的食物送回给点餐台。最后,顾客去结账台结账并完成支付


例子分析

  • 大型的餐厅就好比于我们的一个大型的项目
  • 其中有很多顾客光顾餐厅就相当于有很多的用户会访问我们的项目
  • 将餐厅分为几个部分,就相当于我们把一个项目分成好几个模块
  • 需要相互协作才能完成整个服务流程,也相当于我们项目中处理用户请求一样,每个模块都会发挥到自己的作用

        我们在餐厅吃饭的时候,可能会遇到这样的情况,假设我们点好菜,但是菜一直没有上齐,我们又很想快点吃到饭,那我们这个时候是不是需要催一下厨房,让它赶快把菜炒好。但是我们顾客也不知道这个餐厅的厨房到底在哪里,所以这个时候我们一般都会请求服务员来帮助我们去催一下厨房。

        同样的,我们把项目分成了几个模块,是不是也需要一个地方来管理这些模块呢?Spring Cloud就起到了这个的作用。它提供了服务注册与发现,就像是一个餐厅的导航板,告诉顾客每个服务的位置。同时,它还提供了负载均衡的功能,就像是餐厅内有多个点餐台和厨房窗口,可以平均分配顾客的请求,提高服务效率。此外,Spring Cloud还提供了断路器的机制,就像是餐厅突然出现了问题,会自动切换到备用方案,避免整个服务流程崩溃

首先,我们将餐厅拆分为三个服务:点餐台、厨房和结账台。每个服务都有自己的任务和职责。


结合说明Spring Cloud     

        点餐台服务负责接受顾客的点餐请求,处理顾客的点餐信息,并将点餐信息传递给厨房。这个服务需要保证高可靠性和高并发性,因为每天会有很多顾客在这里进行点餐。

        厨房服务负责根据点餐台的请求来烹饪食物,并将完成的食物送回给点餐台。这个服务需要保证高吞吐量和高性能,因为它需要快速地响应点餐台的请求,同时还需要保证食物的质量和口感。

        结账台服务负责收银和处理支付,将顾客的支付信息传递给支付平台。这个服务需要保证高安全性和高可靠性,因为它需要处理顾客的敏感信息,同时还需要保证支付的准确性和可追溯性。

        接下来,我们使用Spring Cloud来构建这些服务。首先,我们使用服务注册与发现模式来注册每个服务的地址,让其他服务可以通过注册中心查询并调用它。这样,我们就可以将每个服务拆分成多个实例,并通过负载均衡机制来平均分配请求,提高系统的吞吐量和可用性。

        其次,我们使用配置中心来动态修改服务的配置,比如修改菜单价格、添加新的菜品等。这样,我们就可以在不重启服务的情况下,快速地更新服务的配置信息。

        最后,我们使用断路器来避免服务故障和系统崩溃。当某个服务出现故障时,断路器会自动切换到备用方案,保证整个服务流程的顺利进行。

        总之,Spring Cloud提供了一套完整的分布式系统解决方案,可以帮助我们更加轻松地构建分布式系统,并提供了常用的分布式系统模式,使得整个系统更加稳定、可靠。【也就是里面提供了很多的组件,供我们来完成需求】

三.Spring Cloud的核心组件

1、注册中心组件

Spring Cloud Netflix Eureka(服务治理)

        Eureka是微服务架构中的注册中心,专门负责服务的注册与发现。比如订单服务想要调用库存服务、仓储服务,或者是积分服务,怎么调用? 订单服务压根儿就不知道人家库存服务在哪台机器上啊!他就算想要发起一个请求,都不知道发送给 谁,有心无力!

这时候注册中心这个组件就能发挥到作用了

  • 它提供服务注册服务,各个节点启动后,会在 Eureka Server 中进行注册,这样 Eureka Server 的服务注册表将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到;
  • Eureka Server 之间通过复制的方式完成数据的同步,Eureka 还提供了客户端缓存机制,即使所有的 Eureka Server 都挂掉,客户端依然可以利用缓存中的信息消费其他服务的 API;
  • 在应用启动后,Eureka Client 将会向 Eureka Server 发送心跳,默认周期为 30 秒,如果 Eureka Server 在多个心跳周期内(默认 90 秒)没有接收到某个节点的心跳,Eureka Server 将会进入自我保护机制;

2、负载均衡组件

Spring Cloud Netflix Ribbon,各个微服务进行分摊,提高性能

        Netflix Ribbon的作用是是负载均衡,会帮你在每次请求时选择一台机器,均匀的把请求分发到各个机器上。可以想象一家电商网站,每天都有大量的用户访问该网站来查找商品、下订单等。如果所有的请求都发送到同一个服务器上处理,当访问量增加时,这个服务器可能会超负荷运行,导致网站响应变慢甚至崩溃。

为了解决这个问题,可以使用到Spring Cloud中的负载均衡组件

  •  负载均衡:Ribbon可以根据预定义的负载均衡策略(如轮询、随机、加权等)将请求分发到后端的多个服务实例上。这样可以避免某个服务实例过载,提高整个系统的性能和可扩展性。

  • 故障转移:当某个服务实例不可用或出现故障时,Ribbon可以自动将请求转发到其他可用的服务实例上,确保系统的稳定性和可靠性。

  • 服务发现:Ribbon可以与Netflix的服务发现工具Eureka等集成,实现动态的服务发现。它可以从服务注册中心获取可用的服务实例列表,并根据负载均衡策略选择合适的服务实例。

  • 定制化配置:Ribbon提供了一系列的配置选项,可以根据应用的需求进行灵活的定制。开发人员可以配置负载均衡策略、超时设置、重试机制等,以满足具体的业务需求。

3、熔断器组件(断路器)

Spring Cloud Netflix Hystrix,保护系统,控制故障范围

        假设有一个电商网站,它通过微服务架构实现了用户服务、订单服务和支付服务等多个服务。其中,订单服务调用了支付服务来完成支付操作。在高峰期或异常情况下,支付服务出现了故障或响应延迟变得很高。此时如果没有使用熔断器,那么可能导致订单服务无法及时响应,其他依赖该服务的服务(如库存服务)也将受到影响。这可能导致整个系统的故障蔓延,使得用户无法下单,库存无法更新等。

使用了熔断器组件就会是不一样的结果了:

  •  故障隔离:Hystrix使用断路器模式来实现故障隔离。当一个服务发生故障或超时时,Hystrix可以将请求快速失败并返回一个备选的响应,而不会影响到其他服务的正常运行。这样可以防止故障在整个系统中的传播,提高系统的稳定性。

  • 降级策略:Hystrix提供了降级功能,可以在主服务不可用时提供备选的响应。开发人员可以定义降级逻辑,例如返回默认值、调用缓存数据或执行简化的逻辑,以确保在主服务不可用时仍能够提供一定程度的功能。

  • 超时控制:Hystrix允许开发人员为每个服务调用设置超时时间,并在超时发生时进行处理。通过设置适当的超时时间,可以避免长时间的阻塞,提高系统的响应性能。

  • 实时监控和指标收集:Hystrix提供了丰富的实时监控和指标收集功能,可以帮助开发人员了解系统的健康状况和性能表现。通过监控Hystrix的统计数据,开发人员可以及时发现潜在的问题,并采取相应的措施加以处理。

4、网关服务组件

Zuul,Spring Cloud Gateway;api网关,路由,负载均衡等多种作用

        假设有一个电子商务平台,它基于微服务架构构建。在该平台中,有多个微服务,包括用户服务、商品服务和订单服务。每个微服务都有自己的API,用于处理相关的业务逻辑。

在没有网关路由的情况下,客户端需要直接与每个微服务进行通信。例如,当客户端想要获取商品信息时,它必须向商品服务发送请求。同样地,当客户端想要创建订单时,它必须向订单服务发送请求。但是,这种直接通信的方式存在一些问题:客户端需要了解每个微服务的地址和API细节。对于一个复杂的系统来说,客户端可能需要维护大量的连接和请求逻辑,增加了客户端的复杂性。没有统一的入口,各个微服务可能都需要进行独立的认证和授权。这样会导致安全策略分散,难以集中管理和更新。如果有新的微服务加入或旧的微服务被替换,客户端需要相应地更新和调整连接和请求逻辑【缺乏灵活性】。

如果使用了网关服务的组件,就能够很好的解决这些问题

  • 统一入口:网关路由作为系统的统一入口,集中处理所有的外部请求。它可以将所有的请求转发到适当的微服务,使得客户端无需直接与每个微服务进行通信。这简化了客户端的调用方式,并减少了客户端的负担。

  • 请求路由和负载均衡:网关路由组件可以根据请求的路径、参数或头部信息等进行路由,将请求转发给相应的微服务实例。它还可以结合负载均衡算法,将请求均匀地分发给多个微服务实例,以提高系统的可扩展性和负载能力。

  • 安全性:网关路由可以作为安全层,对外部请求进行认证、授权和加密处理。它可以集成各种安全机制,如OAuth、JWT和SSL/TLS等,确保只有经过授权的请求才能访问后端的微服务。

  • 缓存和数据聚合:网关路由可以缓存一些常用的响应结果,避免重复计算或查询后端的微服务。它还可以根据需要从多个微服务中聚合数据,提供更高效的响应和用户体验。

  • 监控和日志:网关路由可以集成监控和日志系统,对请求进行跟踪和记录。这样可以方便开发人员进行系统性能分析、故障排查和日志审计等工作。

  • API 管理和版本控制:网关路由可以提供API管理功能,包括API文档生成、版本控制和订阅管理等。它可以帮助开发人员更好地管理和维护不同版本的API,并提供友好的接口文档给客户端使用

5、配置中心

Spring Cloud Config,将配置文件组合起来,放在远程仓库,便于管理

        假设我们有一个电子商务平台,其中包含多个微服务,例如用户服务、商品服务和订单服务。每个微服务都需要一些配置信息,如数据库连接信息、API密钥和日志级别。

在没有配置中心的情况下,这些配置信息可能被硬编码在各个微服务的代码中。当需要修改某个配置时,我们必须逐个修改每个微服务的代码,并重新部署每个微服务,这是非常繁琐且容易出错的

现在,我们引入一个配置中心组件,例如使用Spring Cloud Config。我们将所有的配置信息集中存储在配置中心中,例如Git仓库或数据库

  • 集中管理配置信息:配置中心允许将系统的配置信息集中存储在一个地方,而不是分散在各个微服务或应用程序中。这样做可以简化配置的管理和维护,提高配置的可见性和一致性。

  • 动态刷新配置:配置中心可以提供动态刷新配置的机制。当配置中心的配置信息发生变化时,可以自动通知到相关的微服务或应用程序,并实现实时的配置更新。这样,系统无需重启或重新部署,就能够应对配置的变化,提高系统的灵活性和可扩展性。

  • 提高安全性:配置中心可以加强对敏感配置信息的保护。通过配置中心,可以对不同的配置进行权限控制,只有经过授权的用户或应用程序才能够获取到相应的配置信息。这样可以避免敏感信息泄露的风险,提升系统的安全性。

  • 版本管理:配置中心可以支持配置的版本管理。每次配置的修改都可以被记录下来,并且可以回滚到之前的版本。这对于排查问题、恢复误操作或者跟踪配置变更历史非常有帮助。

  • 简化部署流程:使用配置中心可以简化应用程序的部署流程。在部署新的实例时,只需要从配置中心获取相应的配置信息即可,而无需手动修改和配置。这样可以提高部署的效率和一致性。

6.声明式HTTP客户端

        假设我们有一个微服务架构,其中有两个服务:订单服务和用户服务。订单服务需要调用用户服务获取用户信息。在没有Feign的情况下,我们需要手动编写HTTP客户端代码,发送HTTP请求到用户服务,然后解析响应结果。这样做的过程繁琐而容易出错,并且需要大量的重复性工作

  1. 简化服务间调用:Feign让服务间调用变得更加简单和直观,开发者只需要定义接口并注解描述服务间调用的参数、路径、HTTP方法和返回值等信息,然后Feign会自动生成具体的客户端实现代码。这样服务间调用就像调用本地方法一样,不需要自己编写HTTP客户端代码,减少了工作量和出错的风险。

  2. 提高可维护性:使用Feign,开发者可以将服务间调用的契约描述集中到接口定义中,使得服务间调用的规范和约束更加明确和统一,便于维护和修改。例如,如果服务提供者的API发生变化,只需要修改接口定义即可,而不需要修改所有的客户端代码。

  3. 支持负载均衡:Feign内置了Ribbon负载均衡器,支持对服务提供者进行负载均衡。开发者可以通过配置不同的Ribbon策略来实现不同的负载均衡算法,如轮询、随机等。

  4. 支持拦截器:Feign支持自定义拦截器,开发者可以通过实现RequestInterceptor接口来添加自己的拦截逻辑,例如添加请求头、身份认证等。

  5. 支持多种协议:Feign支持HTTP、HTTPS和HTTP2等多种协议,可以根据具体的需求进行选择。同时,它也支持对请求和响应的压缩和解压缩,减少网络传输的数据量。

四.Spring Cloud 关系

Spring Cloud 包含很多子项目: Netflix 和 Alibaba 两个标准使用最多

1.Spring Cloud Netflix 第一代

针对多种 Netflix 组件提供的开发工具包,其中包括 Eureka、Ribbon、Feign、Hystrix、Zuul、 Archaius 等。

Netflix Eureka:一个基于 Rest 服务的服务治理组件,包括服务注册中心、服务注册与服务发现机 制的实现,实现了云端负载均衡和中间层服务器的故障转移。

  1. Netflix Ribbon:客户端负载均衡的服务调用组件。
  2. Netflix Hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和故障提供 更强大的容错能力。
  3. Netflix Feign:基于 Ribbon 和 Hystrix 的声明式服务调用组件。
  4. Netflix Zuul:微服务网关,提供动态路由,访问过滤等服务。
  5. Netflix Archaius:配置管理 API,包含一系列配置管理 API,提供动态类型化属性、线程安全配置 操作、轮询框架、回调机制等功能。

2.Spring Cloud Alibaba 第二代

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案。 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的 必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微 服务解决方案,通过阿里中间件来迅速搭建分布式应用系统 

(1)阿里开源组件

  1. Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。
  2. Sentinel:面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降 级、系统负载保护等多个维度保护服务的稳定性。
  3. RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的 消息发布与订阅服务。
  4. Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信。
  5. Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

(2)阿里商业化组件

  1. Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产 品。
  2. Alibaba Cloud OSS:阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供 的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访 问任意类型的数据。
  3. Alibaba Cloud SchedulerX:阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、 高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
  4. Alibaba Cloud SMS:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速 搭建客户触达通道。

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊 

相关文章:

SpringCloud系列篇:入门讲解Spring Cloud是什么

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Cloud是什么 二.Spring …...

GEE:随机数

作者:CSDN _养乐多_ 本文将介绍在 Google Earth Engine(GEE)上生成随机数的 API,可以指定随机数的生成范围、类型(整型、浮点型)、分布方式(均匀分布、正态分布)。 文章目录 一、随…...

H266/VVC率失真优化与速率控制概述

率失真优化技术 率失真优化: 视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率,或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下,为了应对不同的视频内容,往往有多种候选的编码方…...

thinkphp6入门(14)-- 多关联模型查询

背景: 有3个数据表,一个User表,一个Cloth表,一个Shoe表。 Cloth表和Shoe表分别和User表通过user_id关联。 thinkphp 6中如何通过模型查询所有用户,其中包括每个用户的cloth和shoe。 多关联模型查询: 1.…...

MT8766安卓核心板规格参数_MTK8766核心板模块方案定制

MT8766安卓核心板:高性能、稳定可靠、集成度高的一体化解决方案 MT8766安卓核心板采用联发科MTK8766四核4G模块方案,是一款高度集成的安卓一体板。四核芯片架构,主频可达到2.0GHz,支持国内4G全网通。12nm制程工艺,支持…...

k8s的声明式资源管理(yaml文件)

1、声明式管理的特点 (1)适合对资源的修改操作 (2)声明式管理依赖于yaml文件,所有的内容都在yaml文件当中 (3)编辑好的yaml文件,还是要依靠陈述式的命令发布到k8s集群当中 kubect…...

Qt中图片旋转缩放操作

在我们开发过程中,难免会遇到加载图片的问题,在上一个开发项目里我就遇到了图片缩放的问题,所以,我决定将这一部分好好研究,记录下来,希望对大家有帮助哟~ 在讲解之前,我们先看一看具体的展示效…...

LeetCode 2125. 银行中的激光束数量【数组,遍历】1280

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

关于图像分割任务中按照比例将数据集随机划分成训练集和测试集

1. 前言 之前写了分类和检测任务划分数据集的脚本,三大任务实现了俩,基于强迫症,也实现一下图像分割的划分脚本 分类划分数据:关于图像分类任务中划分数据集,并且生成分类类别的josn字典文件 检测划分数据&#xff…...

回文链表【链表】

Problem: 234. 回文链表 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 先转成列表。 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例: O ( n ) O(n) O(n) Code # Definition for si…...

Linux Perf 介绍

文章目录 前言 二、安装Perf三、二级命令3.1 perf list3.2 perf record/report3.3 perf stat3.4 perf top 四、使用火焰图进行性能分析4.1 下载火焰图可视化生成器4.2 使用perf采集数据4.3 生成火焰图参考资料 前言 perf是一款Linux性能分析工具,内置在Linux内核的…...

【论文阅读】Variational Graph Auto-Encoder

0、基本信息 会议:2016-NIPS作者:Thomas N. Kipf,Max Welling文章链接:Variational Graph Auto-Encoder代码链接:Variational Graph Auto-Encoder 1、介绍 本文提出一个变分图自编码器,一个基于变分自编…...

如何把电脑中的项目快速传进Github中?

一、打开GitHub网站:https:github.com 登录自己的个人账号 1.新建一个项目 2.用鼠标直接拖拽电脑中的项目文件夹与文件到新创建的项目中点击保存即可。...

Plantuml之nwdiag网络图语法介绍(二十九)

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

MyBatis接口的方法上使用,定义对应的 SQL 操作

目录标题 一、Mapper:二、Select、Insert、Update、Delete:三、Results、Result:四、Param:五、# 和 $: MyBatis 是一款基于 Java 的持久层框架,它通过简化数据库操作来帮助开发者构建更好的数据库访问应用…...

(20)Linux初始文件描述符

前言:本章我们介绍 O_WRONLY, O_TRUNC, O_APPEND 和 O_RDONLY。之后我们开始讲解文件描述符。 一、系统传递标记位 1、O_WRONLY C 语言在 w 模式打开文件时,文件内容是会被清空的,但是 O_WRONLY 好像并非如此? 代码演示&…...

draw.io基础操作和代码高效画图进阶

文章目录 一、基础操作1、链接2、等比例变形3、复制4、插入表格 二、在线打开三、插入—功能聚集地1、插入图片2、插入画笔3、插入布局4、导出 四、图码转换——高效画图1、通用图码转换2、流程图生成:使用mermaid语言生成图: 五、图码转换高效画图的典型…...

2024-01-04 用llama.cpp部署本地llama2-7b大模型

点击 <C 语言编程核心突破> 快速C语言入门 用llama.cpp部署本地llama2-7b大模型 前言一、下载llama.cpp以及llama2-7B模型文件二、具体调用总结 前言 要解决问题: 使用一个准工业级大模型, 进行部署, 测试, 了解基本使用方法. 想到的思路: llama.cpp, 不必依赖显卡硬件…...

HTTP打怪升级之路

新手村 上个世纪80年代末&#xff0c;有一天&#xff0c;Tim Berners-Lee正在工作&#xff0c;他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件&#xff0c;但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到&#xff0c;他需要一种新的协议来共享二进制…...

axure RP9.0安装字体图标库fontawesome

字体图库地址: Font AwesomeThe internets icon library toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome.https://fontawesome.com/v6/download进入后下载想要的版本如我是6.3 下载后得到压缩包,解压之后…...

PiflowX组件-ReadFromUpsertKafka

ReadFromUpsertKafka组件 组件说明 upsert方式从Kafka topic中读取数据。 计算引擎 flink 有界性 Unbounded 组件分组 kafka 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_hostKAFKA_HO…...

keil 5 ARM CC编译错误和警告解释大全(3)序列号2000-3000

2001年&#xff1a;已声明虚拟参数&#xff0c;但从未使用过 2002年&#xff1a;虚拟参数重新定义为do变量 2003&#xff1a;无法优化&#xff1a;常量/表达式传递给可能修改的变量 2004&#xff1a;重新维度的数组作为参数传递 2005&#xff1a;重维度数组等价 2006&…...

CentOS 7 实战指南:文件或目录的权限操作命令详解

前言 这篇文章详细介绍了文件和目录的常用权限操作命令&#xff0c;并提供了全面的技术解析。通过本文&#xff0c;你将学习如何使用 chmod 和 chown 命令来管理文件和目录的权限&#xff0c;控制用户和用户组的访问权限。无论你是初学者还是有经验的系统管理员&#xff0c;这…...

我的第一个前端项目,vue项目从零开始创建和运行

​入门前端&#xff0c;从基础做起&#xff0c;从零开始新建项目 背景&#xff1a;VUE脚手架项目是一个“单页面”应用&#xff0c;即整个项目中只有1个网页&#xff01; 在VUE脚手架项目中&#xff0c;主要是设计各个“视图组件”&#xff0c;它们都是整个网页中某个部分&…...

【OJ】C++,Java,Python,Go,Rust

for循环语法 // cpp// java// python for i in range(集合): for i, val in enumerate(集合): for v1,v2,v3,... in zip(集合1,集合2,集合3,...):Pair // cpp pair<int, string> first second // java Pair<Integer, String> first() new Pair<>(firstVal…...

Flink 任务指标监控

目录 状态监控指标 JobManager 指标 TaskManager 指标 Job 指标 资源监控指标 数据流监控指标 任务监控指标 网络监控指标 容错监控指标 数据源监控指标 数据存储监控指标 当使用 Apache Flink 进行流处理任务时&#xff0c;可以根据不同的监控需求&#xff0c;监控…...

Go语言程序设计-第7章--接口

Go语言程序设计-第7章–接口 接口类型是对其他类型行为的概括与抽象。 Go 语言的接口的独特之处在于它是隐式实现。对于一个具体的类型&#xff0c;无须声明它实现了哪些接口&#xff0c;只要提供接口所必须实现的方法即可。 7.1 接口即约定 7.2 接口类型 package iotype …...

性能优化-OpenMP基础教程(二)

本文主要介绍OpenMP并行编程技术&#xff0c;编程模型、指令和函数的介绍、以及OpenMP实战的几个例子。希望给OpenMP并行编程者提供指导。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&am…...

让电脑变得更聪明——用python实现五子棋游戏

作为经典的棋类游戏&#xff0c;五子棋深受大众喜爱&#xff0c;但如果仅实现人与人的博弈&#xff0c;那程序很简单&#xff0c;如果要实现人机对战&#xff0c;教会计算机如何战胜人类&#xff0c;那就不是十分容易的事了。本文我们先从简单入手&#xff0c;完成五子棋游戏的…...

C#-接口

接口 (interface) 定义了一个可由类和结构实现的协定。接口可以包含方法、属性、事件和索引器。接口不提供它所定义的成员的实现 — 它仅指定实现该接口的类或结构必须提供的成员。 接口可支持多重继承。在下面的示例中,接口 IComboBox 同时从 ITextBox 和 IListBox 继承。 i…...

线上WordPress移到本地/怎么seo网站排名

Nacos的默认端口是8848&#xff0c;如果你电脑上的其它进程占用了8848端口&#xff0c;请先尝试关闭该进程。 如果无法关闭占用8848端口的进程&#xff0c;也可以进入nacos的conf目录&#xff0c;修改配置文件中的端口&#xff1a; 找到application.properties配置文件&#x…...

vs2010做网站教程/销售成功案例分享

CREATE GLOBAL TEMPORARY TABLE TABLENAME (COL1 VARCHAR2(10),COL2 NUMBER) ON COMMIT PRESERVE(DELETE) ROWS ;--ON COMMIT DELETE ROWS 说明临时表是事务指定&#xff0c;每次提交后ORACLE将截断表(删除全部行)---------------------------------------在Oracle8i中&#…...

企业网站的切片怎么做/网站seo诊断分析报告

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:天然蓄水库 or 天然蓄水池 题…...

哪些做图片赚钱的网站/自动搜索关键词软件

命令帮助信息获取sh 执行脚本-x选项来查看这个脚本执行过程的[rootlocalhost ~]# sh 1.sh [rootlocalhost ~]# sh -x 1.sh [rootlocalhost ~]# ./1.sh-n 只读取shell脚本&#xff0c;但不实际执行-x 进入跟踪方式&#xff0c;显示所执行的每一条命令echo将输入的字符串送往标准…...

深圳做企业网站的公司/如何解决网站只收录首页的一些办法

厕所     在美国一般都叫rest room或bath room&#xff08;男女厕均可&#xff09;或分别叫做 men‘s room 或 ladies‘ room&#xff08;powder room&#xff09;&#xff0c;不过在飞机上&#xff0c;则叫 lavatory&#xff0c;在军中又叫 latrine。至于 W.C.&#xff08…...

域名制作网站吗/大数据营销经典案例

支持自定义头像&#xff0c;用记事本写完蹦出来40个错误然后一点点解决真真是找虐&#xff0c;该用Eclipse了。 java写界面真真是能让人疯掉、、<span style"font-size:18px;">import java.io.File ; import java.awt.event.ActionListener ; import java.awt.…...