图解Dubbo,Dubbo 服务治理详解

news2025/1/8 12:29:50

在这里插入图片描述

目录

    • 一、介绍
      • 1、介绍 Dubbo 服务治理的基本概念和重要性
      • 2、阐述 Dubbo 服务治理的实现方式和应用场景
    • 二、Dubbo 服务治理的原理
      • 1、Dubbo 服务治理的架构设计
      • 2、Dubbo 服务治理的注册与发现机制
      • 3、Dubbo 服务治理的负载均衡算法
    • 三、Dubbo 服务治理的实现方式
      • 1、基于 Docker 容器的 Dubbo 服务治理
        • (1)安装 Docker
        • (2)创建 Docker Compose 文件
        • (3)启动 Docker Compose
        • (4)查看 Dubbo 服务
        • (5)部署 Dubbo 服务到云环境
        • (6)测试 Dubbo 服务
      • 2、基于 Kubernetes 容器编排的 Dubbo 服务治理
        • (1)安装 Kubernetes
        • (2)创建 Kubernetes Deployment
        • (3)创建 Kubernetes Service
        • (4)创建 Kubernetes ConfigMap
        • (5)创建 Kubernetes Secret
        • (6)创建 Kubernetes Ingress
        • (7)测试 Dubbo 服务
      • 3、基于云原生架构的 Dubbo 服务治理
        • (1)安装云原生基础设施
        • (2)创建 Kubernetes Deployment
        • (3)创建 Kubernetes Service
        • (4)创建 Kubernetes ConfigMap
        • (5)创建 Kubernetes Secret
        • (6)创建 Kubernetes Ingress
        • (7)测试 Dubbo 服务
    • 四、Dubbo 服务治理的应用场景
      • 1、微服务架构中的 Dubbo 服务治理
      • 2、分布式系统中的 Dubbo 服务治理
    • 五、Dubbo 服务治理的优化措施
      • 1、提高 Dubbo 服务治理的可用性和高并发处理能力
      • 2、优化 Dubbo 服务治理的性能和带宽消耗
      • 3、增强 Dubbo 服务治理的安全性和可靠性
    • Dubbo系列文章

大家好,我是哪吒。

当前,分布式服务在互联网行业中得到了广泛应用。然而,分布式服务不仅仅是将单个应用程序分割成不同的模块,还涉及到模块之间的相互合作和协作。

服务治理是分布式服务的一个关键问题,因为它可以帮助开发人员管理不同的服务、协调不同的组件和确保服务的可用性和可靠性。Dubbo 服务治理可以快速实现不同服务之间的通信和调用,因此被广泛应用。

本文将详细介绍

  1. Dubbo 服务治理的架构设计
  2. 注册与发现机制
  3. 负载均衡算法、实现方式、应用场景和优化措施。

通过本文,读者可以更深入地了解 Dubbo 服务治理的内部结构和工作原理,并且学习到如何应用 Dubbo 服务治理来管理和调度分布式系统中的服务。

一、介绍

1、介绍 Dubbo 服务治理的基本概念和重要性

Dubbo 服务治理是一种服务管理和协调的解决方案,它主要是为分布式系统提供服务管理、服务调度、服务监控、服务负载均衡等功能。

Dubbo 服务治理可以有效地管理和调度分布式系统中的服务,通过提供丰富的管理工具可以方便地实现服务的监控、调度和负载均衡等功能。在分布式系统中,Dubbo 服务治理可以提供一种方式,让不同的应用程序通过调用远程服务实现互联互通。

以下是一个简单的 Dubbo 服务治理的时序图,展示了 Dubbo 服务注册、发现和调用的过程:

在这个时序图中,Client 是服务的消费者,Registry 是服务注册中心,Provider1 和 Provider2 是服务的提供者。整个过程分为三个步骤:

  1. 服务发现:Client 向 Registry 发起服务发现请求,Registry 返回可用的服务列表。
  2. 服务调用:Client 向 Provider1 发起服务调用请求,Provider1 返回结果;接着 Client 向 Provider2 发起服务调用请求,Provider2 返回结果。
  3. 结果返回:Provider1 和 Provider2 返回结果给 Client。

Dubbo 服务治理的重要性在于,它可以帮助开发人员管理和协调不同的服务和组件,并确保服务的可用性和可靠性。通过 Dubbo 服务治理,开发团队可以通过一个单一的入口管理所有服务,这对于大规模分布式服务的管理非常重要。

2、阐述 Dubbo 服务治理的实现方式和应用场景

Dubbo 服务治理可以分为两种类型:基础服务治理和应用服务治理。

  • 基础服务治理 主要针对基础组件提供服务治理的解决方案,如注册中心、监控中心等。
  • 应用服务治理 主要针对业务服务提供服务治理的解决方案,如服务的调度、负载均衡、容错等。

Dubbo 服务治理的实现方式包括:

  1. 基于 Docker 容器的 Dubbo 服务治理
  2. 基于 Kubernetes 容器编排的 Dubbo 服务治理
  3. 基于云原生架构的 Dubbo 服务治理。

基于 Docker 容器的 Dubbo 服务治理可以方便地部署和管理 Dubbo 服务,不需要人工干预。

基于 Kubernetes 容器编排的 Dubbo 服务治理可以更加灵活地管理 Dubbo 服务,同时还支持容器的自动弹性伸缩和故障自愈的功能。

基于云原生架构的 Dubbo 服务治理可以通过云平台来实现弹性伸缩、高可用性、灰度发布等功能,这为 Dubbo 服务的管理和部署带来了极大的便利。

Dubbo 服务治理广泛应用于微服务架构、分布式系统和大型企业等场景中。

在微服务架构中,Dubbo 服务治理可以帮助开发人员快速构建分布式应用,通过服务治理机制可以方便地管理和协调不同的服务。

在分布式系统中,Dubbo 服务治理可以确保系统的高可用性和可靠性。在大型企业中,Dubbo 服务治理可以帮助企业更好地管理和调度分布式系统中的服务,提高业务处理的效率。

二、Dubbo 服务治理的原理

1、Dubbo 服务治理的架构设计

Dubbo 服务治理的架构设计主要包括注册中心、服务消费者和服务提供者三个部分。

  1. 注册中心 是一个分布式的注册表,可以存储服务提供者的地址、版本等信息。
  2. 服务消费者 可以从注册中心查找服务提供者的位置和信息,并发起请求。
  3. 服务提供者 是一个分布式集群,可以提供服务,并支持负载均衡和容错机制。

服务消费者和服务提供者之间采用消息队列进行通信,可以支持异步处理和消息缓存等功能。

以上是 Dubbo 服务治理的架构设计的 UML 类图。其中:

  1. Registry 表示注册中心,包括注册、注销和服务发现等方法。
  2. Consumer 和 Provider 分别表示服务消费者和服务提供者。服务消费者通过 invoke 方法发起请求,服务提供者通过 export 方法提供服务。
  3. MessageQueue 表示消息队列,用于服务消费者和服务提供者之间的通信。
  4. LoadBalancer 表示负载均衡,用于从多个服务提供者中选择一个进行请求。
  5. Failover、Failfast、Failsafe 和 Failback 表示 Dubbo 支持的容错机制。
  6. RegistryListener 表示注册中心的监听器,可以监听服务的注册和注销事件。

2、Dubbo 服务治理的注册与发现机制

由于Dubbo服务治理的注册与发现机制主要是基于网络通信的,因此可以使用时序图来描述其过程。

上图中,ServiceConsumer表示服务消费者,RegistryCenter表示注册中心,ServiceProvider表示服务提供者。

在服务治理的注册与发现机制中

  1. 服务消费者会向注册中心发送查询请求,查询服务提供者的信息。
  2. 注册中心会将服务提供者的信息存储在分布式注册表中,并将服务列表返回给服务消费者。
  3. 服务消费者可以根据注册表中的信息,找到服务提供者的位置和版本等信息,并发起请求。
  4. 同时,服务提供者也会将自己的服务信息注册到注册中心中,以便服务消费者可以发现并调用该服务。

3、Dubbo 服务治理的负载均衡算法

Dubbo 服务治理的负载均衡算法是指服务消费者可以将请求分配到多个服务提供者上,提高服务的性能和可用性。

Dubbo 服务治理支持轮询、加权轮询、最小连接数和加权最小连接数四种负载均衡算法。

  1. 轮询算法 是指服务消费者按照一定的时间间隔,将请求轮流分配给多个服务提供者。
  2. 加权轮询算法 是指服务消费者按照服务提供者的负载情况,将请求轮流分配给多个服务提供者。
  3. 最小连接数算法 是指服务消费者按照服务提供者的最小连接数,将请求分配给多个服务提供者。
  4. 加权最小连接数算法 是指服务消费者按照服务提供者的负载情况,以及服务提供者的最小连接数,将请求分配给多个服务提供者。

以上流程图简要描述了Dubbo服务治理中负载均衡算法的过程。服务消费者向负载均衡算法发送请求,负载均衡算法会选择一个合适的服务提供者来处理请求,并返回响应。

在Dubbo服务治理中,可用的负载均衡算法包括轮询、加权轮询、最小连接数和加权最小连接数。在这个流程中,我们没有具体说明每种负载均衡算法的实现细节,因为不同的算法可能具有不同的实现方式。

三、Dubbo 服务治理的实现方式

1、基于 Docker 容器的 Dubbo 服务治理

(1)安装 Docker

在本地计算机上安装 Docker 后,需要将其启用为系统服务。可以使用以下命令启动 Docker 服务:

sudo systemctl start docker  
sudo systemctl enable docker  
(2)创建 Docker Compose 文件

使用 Docker Compose 文件来定义 Dubbo 服务的配置。在命令行中打开 Docker Compose 文件编辑器:

vi /etc/docker/compose.yaml  

然后,编辑 Compose 文件,定义 Dubbo 服务的主机、端口和配置文件等信息:

version: '3'  
services:  
  dubbo:  
    image: dubbo:latest  
    environment:  
      DUBBO_VERSION: '2.7.6'  
      JAVA_OPTS: '-Xmx512m -XX:+UseConcMarkSweepGC -Djava.util.concurrent.Executor=yes'  
    ports:  
      - "8080:8080"  
      - "8081:8081"  
    volumes:  
      - ./ DubboConfig:/dubbo/config  
      - ./logs:/dubbo/logs  

在上面的 Compose 文件中,Dubbo 服务使用最新的版本,并且将使用 Executor 来优化性能。该服务有两个端口,一个用于客户端访问,另一个用于内部服务通信。它还提供了一个 volumes 选项,用于将本地目录映射到容器内。

(3)启动 Docker Compose

使用以下命令启动 Docker Compose:

docker-compose up  

这将启动 Dubbo 服务,并将端口 8080 和 8081 暴露给客户端。

(4)查看 Dubbo 服务

可以使用以下命令查看 Dubbo 服务的状态:

docker-compose ps dubbo  

这将列出 Dubbo 服务的所有进程。可以使用以下命令停止或重新启动服务:

docker-compose stop dubbo  
docker-compose restart dubbo  
(5)部署 Dubbo 服务到云环境

如果要将 Dubbo 服务部署到云环境中,需要使用云原生技术,比如 Kubernetes。可以使用以下命令将 Dubbo 服务部署到 Kubernetes 集群中:

kubectl apply -f https://docs.projectdouban.io/zh-cn/dubbo/kubernetes/dubbo-service.yaml  

这将创建一个新的 Kubernetes Service,该 Service 将暴露 Dubbo 服务到客户端,同时也将配置 Dubbo 服务在 Kubernetes 集群中的端口映射。

(6)测试 Dubbo 服务

现在,可以在本地计算机上使用 Dubbo 客户端工具来测试 Dubbo 服务。可以使用以下命令启动 Dubbo 客户端:

java -jar DubboClient.jar --url=http://localhost:8080/dubbo --user=admin --password=123456  

这将启动一个 Dubbo 客户端,该客户端将使用 HTTP 协议访问 Dubbo 服务,并使用管理员权限进行验证。

使用以下命令可以查看 Dubbo 客户端的日志:

java -jar DubboClient.jar --url=http://localhost:8080/dubbo --user=admin --password=123456 | more  

这将列出 Dubbo 客户端的日志,可以查看客户端与 Dubbo 服务之间的通信情况。

2、基于 Kubernetes 容器编排的 Dubbo 服务治理

(1)安装 Kubernetes

首先需要安装 Kubernetes。可以在本地计算机上使用以下命令安装 Kubernetes:

sudo apt-get update    
sudo apt-get install -y apt-transport-https curl    
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -    
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list    
sudo apt-get update    
sudo apt-get install -y kubernetes    
(2)创建 Kubernetes Deployment

使用 Deployment 来定义 Dubbo 服务的配置。在 Kubernetes Deployment 中,可以指定 Dubbo 服务的名称、版本、端口、环境变量等信息。可以使用以下命令创建 Kubernetes Deployment:

kubectl create deployment dubbo --image=dubbo:latest --port=8080 --env-file=.env    

这将创建一个 Kubernetes Deployment,该 Deployment 将定义 Dubbo 服务的主机、端口和配置文件等信息。其中,–image 参数指定了 Dubbo 服务的镜像地址,–port 参数指定了 Dubbo 服务使用的端口,–env-file 参数指定了 Dubbo 服务的环境变量配置文件。

(3)创建 Kubernetes Service

使用 Service 来定义 Dubbo 服务的服务类型和端口。可以使用以下命令创建 Kubernetes Service:

kubectl create service dubbo --port=8080 --type=LoadBalancer    

这将创建一个 Kubernetes Service,该 Service 将暴露 Dubbo 服务到客户端,同时也将在 Kubernetes 集群中暴露 Dubbo 服务的端口。

(4)创建 Kubernetes ConfigMap

使用 ConfigMap 来定义 Dubbo 服务的配置文件。可以使用以下命令创建 Kubernetes ConfigMap:

kubectl create configmap dubbo-config --from-file=./dubbo/config/dubbo.conf    

这将创建一个 Kubernetes ConfigMap,该 ConfigMap 将使用 Dubbo 服务的配置文件。

(5)创建 Kubernetes Secret

使用 Secret 来定义 Dubbo 服务的认证密码。可以使用以下命令创建 Kubernetes Secret:

kubectl create secret generic dubbo-password --from-literal=password=<your-password>    

这将创建一个 Kubernetes Secret,该 Secret 将存储 Dubbo 服务的认证密码。

(6)创建 Kubernetes Ingress

使用 Ingress 来定义 Dubbo 服务的客户端访问路径。可以使用以下命令创建 Kubernetes Ingress:

kubectl create ingress dubbo --from-literal=tls-secret=dubbo-password    

这将创建一个 Kubernetes Ingress,该 Ingress 将配置 Dubbo 服务的客户端访问路径,同时也将使用之前创建的 Secret 来存储认证密码。

(7)测试 Dubbo 服务

现在可以使用 Kubernetes Deployment、Service、ConfigMap 和 Secret 来测试 Dubbo 服务。可以使用以下命令启动 Dubbo 客户端:

kubectl apply -f https://docs.projectdouban.io/zh-cn/dubbo/kubernetes/dubbo-ingress.yaml    

这将创建一个新的 Kubernetes Ingress,该 Ingress 将配置 Dubbo 服务的客户端访问路径,同时也将使用之前创建的 Secret 来存储认证密码。现在可以使用本地 Dubbo 客户端工具来测试 Dubbo 服务了。

3、基于云原生架构的 Dubbo 服务治理

(1)安装云原生基础设施

首先需要安装云原生基础设施,比如容器编排平台 (Kubernetes)、服务注册与发现平台 (Zookeeper)、负载均衡器 (ELB) 等。可以在本地计算机上使用以下命令安装这些平台:

sudo apt-get update  
sudo apt-get install -y kubelet kubeadm kubectl  
(2)创建 Kubernetes Deployment

使用 Deployment 来定义 Dubbo 服务的配置。在 Kubernetes Deployment 中,可以指定 Dubbo 服务的名称、版本、端口、环境变量等信息。可以使用以下命令创建 Kubernetes Deployment:

kubectl create deployment dubbo --image=dubbo:latest --port=8080 --env-file=.env  

这将创建一个 Kubernetes Deployment,该 Deployment 将定义 Dubbo 服务的主机、端口和配置文件等信息。其中,–image 参数指定了 Dubbo 服务的镜像地址,–port 参数指定了 Dubbo 服务使用的端口,–env-file 参数指定了 Dubbo 服务的环境变量配置文件。

(3)创建 Kubernetes Service

使用 Service 来定义 Dubbo 服务的服务类型和端口。可以使用以下命令创建 Kubernetes Service:

kubectl create service dubbo --port=8080 --type=LoadBalancer  

这将创建一个 Kubernetes Service,该 Service 将暴露 Dubbo 服务到客户端,同时也将在 Kubernetes 集群中暴露 Dubbo 服务的端口。

(4)创建 Kubernetes ConfigMap

使用 ConfigMap 来定义 Dubbo 服务的配置文件。可以使用以下命令创建 Kubernetes ConfigMap:

kubectl create configmap dubbo-config --from-file=./dubbo/config/dubbo.conf  

这将创建一个 Kubernetes ConfigMap,该 ConfigMap 将使用 Dubbo 服务的配置文件。

(5)创建 Kubernetes Secret

使用 Secret 来定义 Dubbo 服务的认证密码。可以使用以下命令创建 Kubernetes Secret:

kubectl create secret generic dubbo-password --from-literal=password=<your-password>  

这将创建一个 Kubernetes Secret,该 Secret 将存储 Dubbo 服务的认证密码。

(6)创建 Kubernetes Ingress

使用 Ingress 来定义 Dubbo 服务的客户端访问路径。可以使用以下命令创建 Kubernetes Ingress:

kubectl create ingress dubbo --from-literal=tls-secret=dubbo-password  

这将创建一个 Kubernetes Ingress,该 Ingress 将配置 Dubbo 服务的客户端访问路径,同时也将使用之前创建的 Secret 来存储认证密码。

(7)测试 Dubbo 服务

现在可以使用 Kubernetes Deployment、Service、ConfigMap 和 Secret 来测试 Dubbo 服务。可以使用以下命令启动 Dubbo 客户端:

kubectl apply -f https://docs.projectdouban.io/zh-cn/dubbo/kubernetes/dubbo-ingress.yaml  

这将创建一个新的 Kubernetes Ingress,该 Ingress 将配置 Dubbo 服务的客户端访问路径,同时也将使用之前创建的 Secret 来存储认证密码。现在可以使用本地 Dubbo 客户端工具来测试 Dubbo 服务了。

四、Dubbo 服务治理的应用场景

1、微服务架构中的 Dubbo 服务治理

在微服务架构中,服务之间的通信需要通过中间件来实现,而 Dubbo 是常用的一种中间件。Dubbo 可以提供双向通信、负载均衡、服务注册与发现等功能,使得服务之间的通信更加高效和安全。在微服务架构中,Dubbo 服务治理的应用场景包括:

  • 服务注册与发现:微服务架构中,服务的数量和维护量往往非常大,因此需要使用 Dubbo 这样的中间件来对服务进行治理和管理。Dubbo 可以提供服务注册与发现、负载均衡、服务消费等功能,可以帮助微服务架构更好地管理和监控服务。
  • 服务调用:微服务架构中,服务之间的通信需要通过 Dubbo 来实现。Dubbo 可以提供双向通信、负载均衡等功能,使得服务之间的通信更加高效和安全。

2、分布式系统中的 Dubbo 服务治理

在分布式系统中,服务之间的通信需要通过总线或者中间件来实现,而 Dubbo 也是常用的一种中间件。Dubbo 可以提供双向通信、负载均衡、服务注册与发现等功能,使得服务之间的通信更加高效和安全。在分布式系统中,Dubbo 服务治理的应用场景包括:

  • 服务注册与发现:分布式系统中,服务的数量和维护量往往非常大,因此需要使用 Dubbo 这样的中间件来对服务进行治理和管理。Dubbo 可以提供服务注册与发现、负载均衡、服务消费等功能,可以帮助分布式系统更好地管理和监控服务。
  • 服务调用:分布式系统中,服务之间的通信需要通过 Dubbo 来实现。Dubbo 可以提供双向通信、负载均衡等功能,使得服务之间的通信更加高效和安全。

五、Dubbo 服务治理的优化措施

1、提高 Dubbo 服务治理的可用性和高并发处理能力

为了提高 Dubbo 服务治理的可用性和高并发处理能力,可以采取以下措施:

  • 使用集群部署:将 Dubbo 注册中心和服务提供者部署在多个节点上,提高服务的可用性和容错能力。

该时序图表示了一个使用 Dubbo 集群部署的微服务架构中,客户端通过 Dubbo 注册中心来发现并调用服务提供者的过程。由于 Dubbo 注册中心和服务提供者都进行了集群部署,因此客户端可以从多个注册中心和多个服务提供者中发现和调用服务,提高了系统的可用性和容错能力。

  • 优化资源配置:针对 Dubbo 服务的并发量和负载情况,适当调整机器的 CPU、内存、磁盘等资源,提高系统的处理能力。

该流程图表示了对 Dubbo 服务进行资源配置优化的过程。首先需要通过监控服务的负载情况,收集并分析服务的负载数据,然后根据分析结果对服务提供者的资源进行优化配置,最后重新部署服务提供者,使得服务提供者能够更好地处理并发请求,提高系统的处理能力。

  • 合理设置 Dubbo 的线程池大小:根据业务需求和硬件资源情况,合理设置 Dubbo 的线程池大小,避免线程池过大或过小导致的性能问题。

该时序图表示了 Dubbo 服务提供者使用线程池来处理客户端请求的过程。通过合理设置线程池的大小,可以避免线程池过大或过小导致的性能问题。当客户端发起请求时,Dubbo 服务提供者使用线程池来处理请求,当请求处理完成后返回响应给客户端。

  • 使用缓存和消息队列:通过缓存和消息队列来缓解 Dubbo 服务的并发压力,提高系统的可用性和性能。

2、优化 Dubbo 服务治理的性能和带宽消耗

为了优化 Dubbo 服务治理的性能和带宽消耗,可以采取以下措施:

  • 选择合适的序列化框架:Dubbo 支持多种序列化框架,包括 Hessian、Java 自带的序列化、JSON 等,选择合适的序列化框架可以提高性能和降低带宽消耗。
  • 合理设置超时时间:设置合理的超时时间可以避免 Dubbo 服务调用出现阻塞和超时等问题,提高系统的性能和稳定性。
  • 使用缓存:通过缓存来避免 Dubbo 服务频繁调用,提高系统的性能和带宽利用率。
  • 优化网络带宽:通过优化网络带宽的使用方式,例如启用 TCP 协议的 Nagle 算法、使用压缩算法等,可以降低 Dubbo 服务的带宽消耗。

3、增强 Dubbo 服务治理的安全性和可靠性

为了增强 Dubbo 服务治理的安全性和可靠性,可以采取以下措施:

  • 启用 SSL 加密:通过启用 SSL 加密来保障 Dubbo 服务的安全性。
  • 启用认证机制:通过启用认证机制来保障 Dubbo 服务的安全性,例如使用基于 Token 的认证机制等。
  • 设置合理的重试机制:设置合理的重试机制可以避免 Dubbo 服务因为网络波动等原因出现调用失败的情况,提高系统的可靠性。
  • 监控和日志记录:通过监控和日志记录可以及时发现系统中的问题,进行及时的处理,提高系统的可靠性和安全性。
  • 使用健康检查:通过使用健康检查可以及时发现服务故障或者节点异常,避免服务因为故障而无法提供服务,提高系统的可靠性。 定期备份和恢复:定期备份和恢复可以避免服务因为数据丢失或者损坏而无法正常提供服务,提高系统的可靠性和安全性。

Dubbo系列文章

Dubbo高手之路1,Dubbo原理和机制,Dubbo的核心组件

Dubbo高手之路2,6种扩展机制详解

Dubbo高手之路3,Dubbo服务消费详解

Dubbo高手之路4,Dubbo服务提供者详解

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

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

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

相关文章

Flowable介绍及使用示例

文章目录 Flowable简介底层实现JavaSpring FrameworkMyBatisActiviti Flowable的使用示例引入依赖创建流程定义部署流程定义启动流程实例启动流程实例处理任务监控流程实例 高级用法流程监听器事件驱动定时任务其他高级功能 使用时可能遇到的问题和注意事项结论参考文献 Flowab…

微信群发消息怎么发?群发消息,只要这4个步骤!

微信是我们日常生活中使用最广泛的社交软件之一。用户通过微信可以向好友、家人、同事等联系人发送文字、图片、视频、语音、文件等信息&#xff0c;是一款非常实用的即时通信应用程序。 除了与好友进行单独聊天&#xff0c;我们有时候可能也需要将信息进行群发。但是还有很多…

又要报销了,还在手动下载整理发票吗?

大多数公司都是每个月定期提交报销&#xff0c;一般报销用的发票都是电子发票发到邮箱&#xff0c;每次要报销时都需要登录邮箱&#xff0c;点开邮件&#xff0c;一个个下载整理&#xff0c;工作量不大&#xff0c;但是发票多了也着实很烦。这个月终于下决心把这个过程自动化一…

事务管理 vs. 锁控制:你真的分得清吗?何时使用何种并发控制策略?

分布式锁和事务是分布式系统中两个重要的概念&#xff0c;它们都用于解决分布式环境下的数据一致性问题。 一、概念 分布式锁 分布式锁是一种用于在分布式环境中控制对共享资源访问的锁。分布式锁可以防止多个进程或线程同时访问共享资源&#xff0c;从而避免数据冲突和资源…

Mini小主机All-in-one搭建教程4-安装Windows11系统

Mini小主机All-in-one搭建教程4-安装Windows11系统 硬件介绍 在狗东买的 极摩客M2 到手价是2799元 具体配置如下&#xff1a; 酷睿英特尔11代标压i7 11390H 64G1TB固态。 以下是 安装Windows11系统的教程。 安装Windows11系统 下载镜像包 首先下Windows系统的懒人镜像包&…

【特纳斯电子】基于物联网的智能油烟机-仿真设计

视频及资料链接&#xff1a;基于物联网的智能油烟机-仿真设计 - 电子校园网 (mcude.com) 编号&#xff1a; T0332203M-FZ 设计简介&#xff1a; 本设计是基于物联网的智能油烟机系统&#xff0c;主要实现以下功能&#xff1a; 1.通过OLED显示燃气浓度&#xff1b; 2.可通过…

多媒体应用设计师 第4章 移动多媒体技术基础

1.移动多媒体技术基础 1.1.移动互联网的定义 移动互联网是指利用互联网提供的技术、平台、应用以及商业模式&#xff0c;与移动通信技术相结合并用于实践活动的总称。 1.2.移动互联网的特征 移动互联网三个层面&#xff1a;终端、软件、应用 移动互联网特征&#xff1a;2版…

在搜狗浏览器中设置代理

要在搜狗浏览器中设置代理&#xff0c;请按照以下步骤操作&#xff1a; 打开搜狗浏览器。在浏览器顶部菜单栏中点击“设置”&#xff08;一般位于右上角&#xff09;。在设置菜单中点击“代理设置”。在代理设置页面中&#xff0c;将“使用代理”选项设置为“自动检测”或“al…

通讯网关软件026——利用CommGate X2ORACLE-U实现OPC UA数据转入ORACLE

本文介绍利用CommGate X2ORACLE-U实将OPC UA数据源中的数据转入到ORACLE数据库。CommGate X2ORACLE-U是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将OPC UA数据源的数据写入到ORACLE数据…

ssh 报错:Permission denied, please try again.

报错问题&#xff1a;执行一条远程scp远程拷贝&#xff0c;在此之前已配置好ssh无密登录&#xff0c; sudo scp -r hadoop-3.2.0 slave2:/usr/local/src/ 确保 /etc/ssh/sshd_config文件下 PasswordAuthentication no 改为 PasswordAuthentication yes 和 PermitRootLogin no …

云爬虫系统设计:云平台资源管理优化爬虫性能

目录 1、云爬虫系统概述 2、云平台资源管理优化爬虫性能的关键措施 2.1 资源池化 2.2 负载均衡 2.3 任务调度 2.4 异常处理和恢复 2.5 数据存储与处理 2.6 数据清洗和去重 2.7 分布式爬虫 2.8 任务优先级与质量 2.9节能与环保 2.10监控与日志 总结 随着互联网的快…

成都瀚网科技:如何有效运营抖店来客呢?

随着电子商务的快速发展和移动互联网的普及&#xff0c;越来越多的企业开始将目光转向线上销售渠道。其中&#xff0c;抖音成为备受关注的平台。作为中国最大的短视频社交平台之一&#xff0c;抖音每天吸引数亿用户&#xff0c;这也为企业提供了巨大的商机。那么&#xff0c;如…

解决github打开慢的问题

1&#xff0c;修改hosts&#xff08;可以从这个链接 https://raw.hellogithub.com/hosts 获取对应的host配置&#xff09;。 140.82.112.3 github.com 151.101.1.194 github.global.ssl.fastly.net 2&#xff0c;刷新dns缓存。 # 打开CMD运行如下命令 ipconfig /flushdns 之…

MATLAB-自动批量读取文件,并按文件名称或时间顺序进行数据处理

我在处理文件数据时&#xff0c;发现一个一个文件处理效率太低&#xff0c;因此学习了下MATLAB中自动读取特定路径下文件信息的程序&#xff0c;并根据读取信息使用循环进行数据处理&#xff0c;提高效率&#xff0c;在此分享给大家这段代码并给予一些说明&#xff0c;希望能为…

小程序新增功能页面

需求背景: 小程序主页面有个报名板块,我打算替换主页面报名板块菜单,迁移到我的页面里面, 替换成资讯栏目,我喜欢分享最新技术,开源课题,IT资讯,本想做成论坛的效果,由于时间问题,先替换添加板块 替换后效果: 模块功能: 添加、修改、删除、查看 文件目录:// 添…

git本地仓库及远端仓库推送【linux】

git本地仓库及远端仓库推送【linux】 一.git上创建仓库二.linux中git三板斧i.检查是否安装gitii.克隆仓库到本地iii.提交到本地仓库iiii.上传到远端仓库 三.其他内容补充git loggit status.gitignore 一.git上创建仓库 已经创建好的可以直接跳到第二步进入到创建仓库界面&…

Qt应用开发(基础篇)——头部视图 QHeaderView

一、前言 QHeaderView类继承于QAbstractItemView&#xff0c;为项目视图(QTableView、QTreeView等)提供标题行或标题列。 树结构视图 QTreeView 表格视图 QTableView 视图基类 QAbstractItemView QHeaderView有section的概念&#xff0c;表示整条标题栏的一个个小部分&#xff…

为小公司申请企业邮箱的步骤和方法

对于小公司来说&#xff0c;拥有自己的企业邮箱不仅可以提高公司的专业形象&#xff0c;还可以更好地管理内部和外部的通信。小公司应该如何申请企业邮箱呢&#xff1f;以下是一份详尽的指南。 小公司应该如何申请企业邮箱呢&#xff1f;基本上由三步组成&#xff1a;确定自己的…

class的get和set

class的get和set 一、使用场景二、代码实现 一、使用场景 当我们需要在用户获取或设置实例某个属性的时候做一些附加的操作的时候&#xff0c;就能利用这个特性。 二、代码实现 class Person {#name #age 0 // 设置私有属性存储值&#xff0c;避免被外部修改constructor(na…

智能微秘书+FastGPT,打造你的超级微信助手!

自 ChatGPT 面世以来&#xff0c;它开创了一种交互方式的新革命&#xff0c;引领着技术与人类交互方式的全新演变。特别是在 GPT-3.5 全面开放 API 接口后&#xff0c;基于语言模型&#xff08;LLM&#xff09;的各种应用如雨后春笋般涌现&#xff0c;显示了无限的可能性和创新…