微服务瞎写

news2024/11/17 17:04:16

1.微服务解决的问题

1、如何发现新节点以及检查各节点的运行状态?

2、如何发现服务及负载均衡如何实现?

3、服务间如何进行消息通信?

4、如何对使用者暴露服务API?

5、如何集中管理各节点配置文件?

6、如何收集各节点日志并统一管理?

7、如何直观的了解各节点间的调用链路?

8、如何对系统进行链路保护,避免服务雪崩?

2.微服务架构包含哪些组件

1.注册中心(Service Registry)

Eruka、nacos解决(如何发现新节点以及检查各节点的运行状态)的问题

2.负载均衡(Load Balance)

服务端负载均衡:如 Nginx、HAProxy、Consul、Envoy、Istio、Traefik 

客户端负载均衡:如 Ribbon、Spring Cloud Load Balancer

解决(服务及负载均衡如何实现的问题

3.服务通信(Communication)

服务通信组件解决了问题3(服务间如何进行消息通信)

服务间通信采用轻量级协议,通常是HTTP RESTful风格。但因为RESTful风格过于灵活,必须加以约束,通常应用时对其封装。

在SpringCloud中就提供了OpenFeign(http请求调用的轻量级框架,它集成了 Ribbon 以实现负载均衡,并且与 Eureka、Consul 等服务发现组件无缝对接)RestTemplate两种技术屏蔽底层的实现细节,所有开发者都是基于封装后统一的SDK进行开发,有利于团队间的相互合作。

@FeignClient("providerNacos")
public interface USerServices {
    @GetMapping("user/findAll/{id}")
    public usersss questUser(@PathVariable("id") Integer id);
}

OpenFeign 是 Spring Cloud 在Feign 的基础上支持了 SpringMVC的注解如 @RequesMapping 等等。

OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

所以OpenFeign可以不实现Services的实现类(注:consumer的controller方法映射的provider中的controller中的方法参数以及Restful风格请求必须相同

4、API服务网关(API Gateway)

Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式

服务网关主要是解决问题4(如何对使用者暴露服务API),对于最终调用方来说,微服务的通信与各种实现细节应该是透明的,调用者只需关注他要使用的 API 接口即可

因此微服务架构引入的服务网关控制用户的访问权限

服务网关是外部环境访问内部微服务的唯一途径;

在这个基础上还可以扩展出其他功能,例如:用户认证与授权、容错限流、动态路由、A/B测试、灰度发布等。

GateWay和Nginx的区别与联系

下图当中圈出来的就是Gateway所在的位置。

而Nginx属于在Gateway上层。甚至可以在外部请求的上层,因为Nginx可以用来做网关层的负载均衡,同时他还可以用来做流量入口。因为他本身就是服务器,实际开发当中都是通过Nginx来做流量入口的。

流量入口的意思就是假如我有个html放到linux当中,那么外面的人怎么才能访问到linux当中的页面呢?

Nginx可以用来解决这个问题,他本身就是一个服务器,使用过程就是开启端口然后监听请求,当请求来了,可以将请求 指向本机的任意可访问的html文件。

Gateway可以称之为微服务网关(业务网关),而Nginx可以作为整个应用的流量网关,以及微服务网关的负载均衡

gateway三大核心概念


Route(路由):路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由。
Predicate(断言):参考的是Java8的java.util.function.Predicate,开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由
Filter(过滤):指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改。

           +---------------------------+
           |  请求到达网关 (Client)      |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  请求进入网关(Dispatcher)  |
           |  (网关的入口处理模块)      |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  过滤器链执行 (Filters)     |  <-- 过滤操作(例如认证、授权、日志记录等) 
           |  **(过滤)**                |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  路由 (Routing)             |  <-- 根据路由规则选择目标服务
           |  **(路由)**                 |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  服务发现 & 负载均衡 (Load   |  <-- 选择合适的后端实例
           |  Balancing)                |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  转发请求到后端服务         |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  响应返回给网关             |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  响应过滤器链执行 (Response) |  <-- 处理响应(例如修改响应内容、增加头信息等)
           |  **(过滤)**                |
           +---------------------------+
                       |
                       v
           +---------------------------+
           |  响应返回给客户端           |
           +---------------------------+

5.配置中心(Config Management)

配置中心主要解决了问题5(如何集中管理各节点配置文件);

在微服务架构下,所有的微服务节点都包含自己的各种配置文件,如jdbc配置、自定义配置、环境配置、运行参数配置等。要知道有的微服务可能可能有几十个节点,如果将这些配置文件分散存储在节点上,发生配置更改就需要逐个节点调整,将给运维人员带来巨大的压力。

配置中心便由此而生,通过部署配置中心服务器,将各节点配置文件从服务中剥离,集中转存到配置中心。一般配置中心都有UI界面,方便实现大规模集群配置调整。

1. Spring Cloud Config

Spring Cloud Config 是 Spring 官方提供的配置中心,支持将配置集中化存储,并通过服务端和客户端的方式动态获取和管理配置。它支持 Git、SVN 等版本控制工具作为配置的存储源,还可以将配置存储在数据库、文件系统等地方。

  • Spring Cloud Config Server:作为配置服务器,管理配置信息,并向客户端提供配置。
  • Spring Cloud Config Client:配置客户端,应用通过它来获取配置,并支持动态刷新配置。

2. Nacos

Nacos 是阿里巴巴开源的动态服务发现、配置管理和服务管理平台。它不仅支持配置中心的功能,还提供服务注册和发现的功能,是一个统一的微服务管理平台。Nacos 提供了丰富的功能,包括多种配置存储方式、配置的实时推送、以及支持分布式环境的配置管理。

特点

  • 支持服务发现和配置管理功能。
  • 支持多种数据源存储配置,包括 MySQL、文件系统等。
  • 实时推送配置,支持动态配置更新。
  • 多环境、多语言支持。
  • 提供简洁的 Web 控制台管理界面。

使用场景

  • 微服务架构下的服务发现和配置中心合并使用。
  • 需要统一管理服务与配置的场景。

3. Zookeeper

Zookeeper 是 Apache 提供的一个分布式协调服务,常用于配置管理、服务发现、锁机制等场景。虽然 Zookeeper 不是专门为配置管理而设计的,但它广泛应用于分布式系统中,且可以通过其提供的键值存储机制来实现配置管理。

特点

  • 高可用性和一致性,适用于分布式系统。
  • 支持配置动态更新。
  • 适合用于存储少量、关键的配置信息。
  • 提供丰富的原子操作,适合高并发访问。

使用场景

  • 在需要分布式协调和配置管理的场景下使用。
  • 与大规模的分布式系统结合使用,如大数据平台。

6、集中式日志管理(Centralized Logging)


集中式日志主要是解决了问题6(如何收集各节点日志并统一管理)

微服务架构默认将应用日志分别保存在部署节点上,当需要对日志数据和操作数据进行数据分析和数据统计时,必须收集所有节点的日志数据。

那么怎么高效收集所有节点的日志数据呢?业内常见的方案有ELK、EFK。通过搭建独立的日志收集系统,定时抓取各节点增量日志形成有效的统计报表,为统计和分析提供数据支撑。

1. 日志采集(Log Collection)

日志采集是集中式日志管理的第一步,主要目的是将各个微服务产生的日志信息收集并传输到日志存储系统。

  • Fluentd

    • 一个开源的数据收集器,可以收集、聚合、转发日志数据。支持多种输入和输出插件,广泛应用于微服务架构中。
    • Fluentd 具有高度的可扩展性和灵活性,可以将日志从各个微服务收集到中央存储,如 Elasticsearch、Kafka 等。
  • Logstash

    • Logstash 是 Elastic Stack 的一部分,广泛用于日志的收集、过滤、转换和转发。
    • 它能够处理不同类型的日志源,并支持各种输出目标,如 Elasticsearch、文件系统等。
  • Filebeat

    • 也是 Elastic Stack 的一部分,Filebeat 是一个轻量级的日志收集器,通常用于从各个微服务节点或容器中收集日志文件并转发到 Logstash 或 Elasticsearch。
    • 它适用于日志文件或标准输出流日志的收集。

2. 日志存储(Log Storage)

存储日志数据的主要目标是保证高效查询和分析。常见的日志存储组件有:

  • Elasticsearch:

    • 是一个分布式搜索引擎,广泛用于日志存储和搜索。它是 Elastic Stack(以前的 ELK Stack,Elasticsearch、Logstash、Kibana)的核心组件,能够高效地存储大规模日志数据,并支持高效的查询和分析。
    • 配合 Logstash 或 Fluentd,可以实现强大的日志存储和索引功能。
  • Kafka:

    • Kafka 是一个分布式的消息队列系统,也可以作为日志存储的中间层,特别适用于实时日志流处理。
    • Kafka 将日志数据分区并存储在分布式日志系统中,可以承载高吞吐量的日志流。
  • OpenSearch:

    • OpenSearch 是基于 Elasticsearch 的开源搜索和分析引擎,常作为替代 Elasticsearch 的解决方案。它同样支持强大的日志存储和检索功能。

3. 日志分析与可视化(Log Analysis and Visualization)

一旦日志数据被收集并存储,接下来的工作就是对日志进行分析和可视化,以便能够从中提取有价值的信息,如错误分析、性能监控、趋势分析等。

  • Kibana:

    • Kibana 是 Elastic Stack 的可视化工具,常与 Elasticsearch 配合使用,提供强大的日志分析、可视化和监控能力。你可以使用 Kibana 创建实时的仪表板、图表、聚合查询等,帮助开发者和运维人员快速发现问题。
  • Grafana

    • Grafana 是一个开源的数据可视化和监控工具,通常与 Prometheus 配合使用,但也可以集成 Elasticsearch 用于日志数据的展示。
    • 它支持创建自定义仪表板,提供多种图形、表格、时间序列数据展示,帮助分析日志的趋势和异常。

4. 日志管理平台(Log Management Platforms)

除了单独的开源组件,许多企业选择使用全功能的集中式日志管理平台来简化日志收集、存储和分析的工作:

  • ELK Stack(Elasticsearch + Logstash + Kibana):

    • 这是最常用的开源日志管理平台,能够提供日志的收集、存储、索引、搜索和可视化的完整解决方案。
    • ELK Stack 是目前微服务架构中非常受欢迎的选择,尤其适用于需要实时日志分析和强大查询能力的场景。
  • EFK Stack(Elasticsearch + Fluentd + Kibana):

    • EFK Stack 与 ELK Stack 相似,只是使用 Fluentd 代替了 Logstash 作为日志收集器。Fluentd 的配置和扩展能力使得它适合在大规模分布式环境中使用。
  • Graylog

    • Graylog 是一个基于 Elasticsearch 和 MongoDB 的集中式日志管理平台。它提供了强大的日志搜索和分析功能,并且可以轻松地处理来自多种数据源的日志数据。
    • Graylog 提供了易于使用的用户界面,适用于中大型企业进行日志管理。
  • Splunk

    • Splunk 是一个商业化的日志管理平台,广泛应用于企业级应用中。它支持高效的日志收集、存储、搜索和分析,并且提供了丰富的报表和告警功能。
    • Splunk 支持与微服务架构的集成,可以有效地处理大规模日志数据。

5. 日志聚合与管理(Log Aggregation and Management)

除了上述的日志收集、存储和分析工具外,还有一些专门的日志聚合和管理工具,用于简化日志流的处理和优化查询。

  • Prometheus(主要用于监控,但也可以与日志结合):

    • Prometheus 是一个开源的监控和警报系统,通常与容器和微服务配合使用。虽然它主要用于指标监控,但也可以与日志处理系统集成,为日志数据提供实时监控能力。
  • Jaeger / Zipkin(分布式追踪):

    • 虽然 Jaeger 和 Zipkin 是用于分布式追踪的工具,但它们也能生成与日志数据紧密相关的追踪信息,帮助调试和分析微服务架构中的问题。

总结

集中式日志管理的关键组件包括日志采集工具(如 Fluentd、Logstash、Filebeat)、日志存储系统(如 Elasticsearch、Kafka、OpenSearch)、日志分析与可视化工具(如 Kibana、Grafana)以及日志管理平台(如 ELK Stack、Graylog、Splunk)。这些工具可以协同工作,实现对微服务架构中海量日志数据的高效收集、存储、分析和可视化,帮助开发和运维团队监控系统、诊断问题并优化性能。

7、分布式链路追踪(Distributed Tracing)


分布式链路追踪解决了问题7(如何直观的了解各节点间的调用链路)

系统中一个复杂的业务流程,可能会出现连续调用多个微服务,我们需要了解完整的业务逻辑涉及的每个微服务的运行状态,通过可视化链路图展现,可以帮助开发人员快速分析系统瓶颈及出错的服务。

  • OpenTelemetry:标准化的追踪工具,支持多种后端。
  • Jaeger:强大的开源追踪系统,适合大规模微服务架构。
  • Zipkin:轻量级的分布式追踪系统,易于部署。
  • AWS X-Ray:AWS 提供的托管追踪服务。
  • Google Cloud Trace:专为 Google Cloud 环境设计的链路追踪工具。
  • Honeycomb:专注于事件流和高效查询的现代追踪平台。

8、服务保护(Service Protection)


服务保护主要是解决了问题8(如何对系统进行链路保护,避免服务雪崩)

在业务运行时,微服务间互相调用支撑,如果某个微服务出现高延迟导致线程池满载,或是业务处理失败。这里就需要引入服务保护组件来实现高延迟服务的快速降级,避免系统崩溃。

服务保护(Service Protection) 是指确保微服务系统的可用性、安全性和稳定性,防止单个服务的故障、恶意攻击或异常流量对整个系统产生影响。服务保护涉及多个方面,包括流量控制、故障隔离、限流、熔断、鉴权、认证、加密、日志监控等。以下是常用的服务保护组件和技术,它们在微服务架构中起到了重要的保护作用。

1. 流量控制与负载均衡

流量控制的目的是确保系统在高负载、突发流量的情况下能够稳定运行。负载均衡组件可以有效地分配流量,防止单个服务或节点承受过大压力。

常见组件:

  • Nginx / HAProxy:作为反向代理和负载均衡器,它们可以根据负载动态分配请求,提供高可用性。
  • Istio:作为服务网格,Istio 提供了丰富的流量控制功能,如流量路由、重试、超时、限流等。它能自动进行负载均衡,基于策略调节流量流向。
  • Envoy:作为微服务架构中的数据平面代理,Envoy 能处理入站和出站流量,提供高级的流量管理、负载均衡、路由和熔断等功能。
  • Consul:提供健康检查和负载均衡能力,帮助服务之间的流量调度。

2. 限流与熔断

限流和熔断是服务保护中最重要的两项功能,目的是防止某个服务因过载而崩溃,进而影响整个系统的稳定性。

限流:

  • Rate Limiting:通过限制每个客户端或每个用户在一定时间内的请求次数,防止系统过载。
  • 常见组件
    • Envoy:通过其代理功能可以配置细粒度的流量管理和限流策略。
    • API Gateway:如 KongZuul 等 API 网关一般都具备限流功能,能够根据请求频率限制访问。
    • Redis可用于实现分布式限流,通过 Redis 存储用户的请求计数和时间戳,进行实时流量限制。
    • Sentinal流量防卫兵

熔断:

熔断的作用是在服务出现异常时,及时中断故障请求,防止错误进一步蔓延到其他系统。

  • Hystrix(Netflix):Hystrix 是一个流行的熔断器实现,能够在服务失败时迅速触发熔断机制,避免服务连锁崩溃。虽然 Netflix 已经不再积极维护 Hystrix,但它仍然是熔断机制的经典实现。
  • Resilience4j:是 Hystrix 的轻量级替代品,提供限流、熔断、重试等功能。
  • Istio:提供了基于策略的熔断、重试、故障注入等功能,可以保护微服务免受依赖服务的不稳定性影响。

3. 身份验证与授权

微服务中的身份验证和授权确保系统资源只能被合法用户访问,防止未授权的访问或恶意攻击。

常见组件:

  • OAuth 2.0 & OpenID Connect:通过授权服务器和身份提供者管理身份验证和授权。OAuth 2.0 用于访问令牌的颁发,OpenID Connect 扩展了 OAuth 2.0,用于用户身份验证。
    • Keycloak:开源的身份和访问管理工具,支持 OAuth 2.0、OpenID Connect 和 SAML 协议,集成方便,常用于微服务架构中的身份验证和授权。
    • Auth0:一个云托管的身份验证服务,支持多种认证协议,并能方便地与微服务架构结合。
    • Okta:另一种身份和访问管理服务,提供集中化的身份认证服务。
API Gateway 鉴权:
  • KongZuulAmbassador:这些 API 网关通常提供集中的身份认证和授权服务,在请求进入微服务之前进行验证,确保请求是合法的。

4. 加密与数据保护

微服务架构中的通信需要通过加密来保护数据的隐私和完整性。加密技术确保数据在传输过程中的安全性,避免敏感信息泄露。

常见组件:

  • TLS / SSL:加密协议(如 TLS 和 SSL)可用于加密微服务间的通信,防止中间人攻击和数据窃听。
  • HashiCorp Vault:开源的秘密管理工具,可以安全地存储和访问敏感数据(如 API 密钥、证书、数据库凭据等)。
  • AWS KMS / Google Cloud KMS:云服务提供商的密钥管理服务,用于加密数据,确保数据的保密性。
  • Envoy:在服务网格中提供加密通信,支持透明的 TLS 加密和解密。

5. 故障恢复与隔离

微服务架构的高可用性和稳定性依赖于良好的故障恢复机制和服务隔离设计。通过容错设计,可以让系统在出现问题时能够自动恢复,保证服务的可用性。

常见组件:

  • Istio:作为服务网格,Istio 提供了强大的流量管理和故障隔离能力。比如可以实现基于请求的重试、超时控制和熔断。
  • Kubernetes:Kubernetes 提供了容器编排和自动化部署的功能,支持水平扩展和故障恢复。通过 Pod 的副本和健康检查,Kubernetes 可以确保服务的高可用性。
  • Circuit Breaker (熔断器):如 Hystrix、Resilience4j 等熔断器工具,帮助系统在部分服务出现故障时避免 cascading failure(级联故障),并快速恢复。

6. 审计与日志监控

通过日志记录和监控,可以实时发现并应对系统中的潜在问题,防止攻击和服务滥用。审计日志可以帮助追踪每个用户和服务的行为,确保透明性和合规性。

常见组件:

  • ELK Stack (Elasticsearch, Logstash, Kibana):用于日志收集、存储和可视化。可以帮助团队实时监控系统日志,发现潜在的攻击或异常。
  • Prometheus + Grafana:Prometheus 用于收集微服务的监控数据,Grafana 用于可视化和报警。可以对微服务的性能进行全面监控。
  • Fluentd:用于日志收集、转发和处理,通常与 ELK Stack 或其他日志分析工具配合使用。
  • Jaeger:分布式链路追踪工具,可以帮助追踪服务间的请求流,发现服务间的瓶颈或异常。

7. API Gateway 保护功能

API 网关是微服务架构中的重要组件,它不仅提供统一的流量入口,还可以实现多种服务保护功能,如:

  • 身份认证(集成 OAuth、JWT)
  • 流量限流与熔断
  • 访问控制(基于角色的访问控制,RBAC)
  • 请求/响应转换(如 JSON 转换、API 版本管理)
  • 负载均衡故障转移

常见的 API Gateway 组件:

  • Kong:一个高性能的开源 API 网关,支持流量管理、认证、限流等功能。
  • Ambassador:基于 Envoy 的 API 网关,具有强大的流量控制、API 安全性和监控能力。
  • Zuul:Netflix 提供的 API Gateway,支持路由、限流、认证等功能。

总结

微服务架构中的服务保护是确保系统稳定性、安全性和可靠性的关键。常见的服务保护技术和组件包括:

  • 流量控制与负载均衡:如 Nginx、Istio、Envoy、Kong 等。
  • 限流与熔断:如 Hystrix、Resilience4j、Istio、API Gateway 等。
  • 身份验证与授权:如 OAuth 2.0、OpenID Connect、Keycloak、Auth0、Okta 等。
  • 加密与数据保护:如 TLS/SSL、HashiCorp Vault、AWS KMS 等。
  • 故障恢复与隔离:如 Kubernetes、Istio、熔断器模式等。
  • 日志监控与审计:如 ELK Stack、Prometheus + Grafana、Jaeger 等。

这些组件和技术可以有效地保障微服务架构的高可用性、安全性以及故障恢复能力,帮助开发团队实现服务的保护。

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

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

相关文章

Python Tornado框架教程:高性能Web框架的全面解析

Python Tornado框架教程&#xff1a;高性能Web框架的全面解析 引言 在现代Web开发中&#xff0c;选择合适的框架至关重要。Python的Tornado框架因其高性能和非阻塞I/O特性而备受青睐。它特别适合处理大量并发连接的应用&#xff0c;比如聊天应用、实时数据处理和WebSocket服务…

基于图像分类的对抗攻击算法研究

图像分类与对抗攻击 图像分类是计算机视觉的基础任务&#xff0c;旨在 将不同类别的图像准确归类 。随着深度学习发展&#xff0c;模型在大规模数据集上的表现已超越人类。然而&#xff0c;这一进步也引发了新的安全挑战—— 对抗攻击 。 对抗攻击通过向原始图像添加精心设计的…

【AI大模型】ELMo模型介绍:深度理解语言模型的嵌入艺术

学习目标 了解什么是ELMo.掌握ELMo的架构.掌握ELMo的预训练任务.了解ELMo的效果和成绩.了解ELMo的优缺点. 目录 &#x1f354; ELMo简介 &#x1f354; ELMo的架构 2.1 总体架构 2.2 Embedding模块 2.3 两部分的双层LSTM模块 2.4 词向量表征模块 &#x1f354; ELMo的预…

Linux Android 正点原子RK3568替换开机Logo完整教程

0.这CSDN是有BUG吗?大家注意:表示路径的2个点号全都变成3个点号啦! 接下来的后文中,应该是2个点都被CSDN变成了3个点: 1.将这两个 bmp 图片文件720x1280_8bit拷贝到内核源码目录下,替换内核源码中默认的 logo 图片。注意:此时还缺少电量显示图片 2.编译内核 make d…

【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)

文章目录 前言一、自定义拦截器二、自定义操作1.自定义颜色2.合并单元格 三、复杂操作示例1.实体(使用了注解式样式)&#xff1a;2.自定义拦截器3.代码4.最终效果 前言 本文简单介绍阿里的EasyExcel的复杂导出操作&#xff0c;包括自定义样式&#xff0c;根据数据合并单元格等。…

Linux(CentOS)安装达梦数据库 dm8

CentOS版本&#xff1a;CentOS 7 达梦数据库版本&#xff1a;dm8 一、获取 dm8 安装文件 1、下载安装文件 打开达梦官网&#xff1a;https://www.dameng.com/ 下载的文件 解压后的文件 2、上传安装文件到 CentOS 使用FinalShell远程登录工具&#xff0c;并且使用 root 用户…

fastapi 调用ollama之下的sqlcoder模式进行对话操作数据库

from fastapi import FastAPI, HTTPException, Request from pydantic import BaseModel import ollama import mysql.connector from mysql.connector.cursor import MySQLCursor import jsonapp FastAPI()# 数据库连接配置 DB_CONFIG {"database": "web&quo…

如何监控Kafka消费者的性能指标?

要监控 Kafka 消费者性能指标&#xff0c;可以遵循以下最佳实践和策略&#xff1a; 关键性能指标监控&#xff1a; 消息吞吐量&#xff1a;监控消费者和生产者的吞吐量&#xff0c;以评估数据处理和消费的效率。延迟&#xff1a;监控端到端的延迟&#xff0c;例如通过比较消息产…

【LINUX相关】

一、Linux怎么进行查看日志&#xff1f; 首先得问问开发项目日志存放在哪里&#xff0c;可以使用多种命令来查看日志。常用的命令包括tail、cat、less和grep等。例如:1、使用tail命令可以实时查看日志文件的最新内容&#xff1a;tail -f log_file&#xff0c; 2、使用cat命令可…

IT运维的365天--019 用php做一个简单的文件上传工具

前情提要&#xff1a;朋友的工作室&#xff0c;有几个网站分布在不同的服务器上&#xff0c;要经常进行更新&#xff0c;之前是手动复制压缩包到各个服务器去更新&#xff08;有写了自动更新的Shell脚本&#xff09;。但还是觉得太麻烦&#xff0c;每次还要手动传输压缩包到各个…

计算机网络 (4)计算机网络体系结构

前言 计算机网络体系结构是指计算机网络层次结构模型&#xff0c;它是各层的协议以及层次之间的端口的集合。这一体系结构为计算机网络及其部件应完成的功能提供了精确定义&#xff0c;并规定了这些功能应由何种硬件或软件来实现。 一、主流模型 计算机网络体系结构存在多种模型…

C++- 基于多设计模式下的同步异步日志系统

第一个项目:13万字,带源代码和详细步骤 目录 第一个项目:13万字,带源代码和详细步骤 1. 项目介绍 2. 核心技术 3. 日志系统介绍 3.1 为什么需要⽇志系统 3.2 ⽇志系统技术实现 3.2.1 同步写⽇志 3.2.2 异步写⽇志 4.知识点和单词补充 4.1单词补充 4.2知识点补充…

小程序租赁系统打造便捷租赁体验助力共享经济发展

内容概要 小程序租赁系统是一个极具创新性的解决方案&#xff0c;它通过简化租赁过程&#xff0c;让物品的共享变得便捷流畅。对于那些有闲置物品的用户来说&#xff0c;他们可以轻松发布自己的物品&#xff0c;让其他需要的人快速找到并租借。而对于找东西的人来说&#xff0…

EXCEL 或 WPS 列下划线转驼峰

使用场景&#xff1a; 需要将下划线转驼峰&#xff0c;直接在excel或wps中第一行使用公式&#xff0c;然后快速刷整个列格式即可。全列工下划线转为格式&#xff0c;使用效果如下&#xff1a; 操作步骤&#xff1a; 第一步&#xff1a;在需要显示驼峰的一列&#xff0c;复制以…

【SpringBoot】公共字段自动填充

问题引入 JavaEE开发的时候&#xff0c;新增字段&#xff0c;修改字段大都会涉及到创建时间(createTime)&#xff0c;更改时间(updateTime)&#xff0c;创建人(craeteUser)&#xff0c;更改人(updateUser)&#xff0c;如果每次都要自己去setter()&#xff0c;会比较麻烦&#…

华为云租户网络-用的是隧道技术

1.验证租户网络是vxlan 2.验证用OVS 2.1控制节点VXLAN 本端ip&#xff08;local ip&#xff09;192.168.31.8 2.2计算节点VXLAN 本端ip&#xff08;local ip&#xff09;192.168.31.11 计算节点用的是bond0做隧道网络 2.3查看bond文件是否主备模式

网络编程-002-UDP通信

1.UDP通信的简单介绍 1.1不需要通信握手,无需维持连接,网络带宽需求较小,而实时性要求高 1.2 包大小有限制,不发大于路径MTU的数据包 1.3容易丢包 1.4 可以实现一对多,多对多 2.客户端与服务端=发送端与接收端 代码框架 收数据方一般都是客户端/接收端 3.头文件 #i…

从PE结构到LoadLibrary

从PE结构到LoadLibrary PE是Windows平台主流可执行文件格式,.exe , .dll, .sys, .com文件都是PE格式 32位的PE文件称为PE32&#xff0c;64位的称为PE32&#xff0c;PE文件格式在winnt.h头中有着详细的定义&#xff0c;PE文件头包含了一个程序在运行时需要的所有信息&#xff…

AntFlow:一款高效灵活的开源工作流引擎

AntFlow 是一款功能强大、设计优雅的开源工作流引擎&#xff0c;其灵感来源于钉钉的工作流设计理念&#xff0c;旨在为企业和开发者提供灵活、高效的工作流解决方案。AntFlow 支持复杂的业务流程管理&#xff0c;具有高度可定制性&#xff0c;且拥有现代化的前端设计&#xff0…

智慧安防丨以科技之力,筑起防范人贩的铜墙铁壁

近日&#xff0c;贵州省贵阳市中级人民法院对余华英拐卖儿童案做出了一审宣判&#xff0c;判处其死刑&#xff0c;剥夺政治权利终身&#xff0c;并处没收个人全部财产。这一判决不仅彰显了法律的威严&#xff0c;也再次唤起了社会对拐卖儿童犯罪的深切关注。 余华英自1993年至2…