RabbitMQ 教程 | 第5章 RabbitMQ 管理

👨🏻‍💻 热爱摄影的程序员
👨🏻‍🎨 喜欢编码的设计师
🧕🏻 擅长设计的剪辑师
🧑🏻‍🏫 一位高冷无情的编码爱好者
大家好,我是 DevOps 工程师
欢迎分享 / 收藏 / 赞 / 在看!

这篇 RabbitMQ 教程为学习者提供了全面的内容,从 RabbitMQ 的简介开始,涵盖了消息中间件的概念、RabbitMQ 的安装与使用,以及交换机、队列、路由键等相关概念的介绍。进一步深入,教程探讨了 AMQP 协议、客户端开发向导,以及消息的发送和消费方式。同时,学习者还可以了解消息传输保障、高级特性如死信队列、延迟队列、优先级队列、RPC 实现等。此外,教程还涵盖了 RabbitMQ 的管理、配置、运维、监控和集群管理等重要主题,帮助学习者充分掌握 RabbitMQ 的应用。整篇教程丰富内容详实,适合初学者和有经验的开发者参考学习。

全篇共 11 章,9 万余字。本文:第5章 RabbitMQ 管理。

第5章 RabbitMQ 管理

5.1 多租户与权限

RabbitMQ 提供了多租户特性,允许在单个 RabbitMQ 实例上创建多个独立的虚拟主机(vhost)。每个虚拟主机相当于一个独立的消息代理,拥有自己的交换机、队列、绑定、用户权限等,从而实现了逻辑上的隔离。这样可以让不同的应用或用户组在同一个 RabbitMQ 实例上拥有独立的消息环境,彼此之间不会相互影响。

使用 RabbitMQ 的多租户特性,需要以下步骤:

  1. 创建虚拟主机: 在 RabbitMQ 管理界面或使用 RabbitMQ 命令行工具,可以创建一个新的虚拟主机。每个虚拟主机都有一个唯一的名称,用于标识和区分不同的租户。
  2. 为虚拟主机设置权限: 在 RabbitMQ 中,可以为不同的用户设置不同的权限。可以创建多个用户,并将其分配到不同的虚拟主机上,从而实现对不同租户的访问控制。可以为每个用户指定对虚拟主机的读、写、管理等权限。
  3. 访问控制策略: RabbitMQ 还提供了访问控制策略来限制对虚拟主机的访问。可以通过策略设置,对某个虚拟主机的访问进行控制,如限制最大连接数、最大队列数、最大内存使用等。

以下是使用 RabbitMQ 的多租户特性的示例代码:

public class RabbitMQMultiTenancyExample {

    private static final String VIRTUAL_HOST = "my_vhost";
    private static final String USERNAME = "my_user";
    private static final String PASSWORD = "my_password";

    public static void main(String[] args) throws Exception {
        // 创建连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        factory.setVirtualHost(VIRTUAL_HOST);
        factory.setUsername(USERNAME);
        factory.setPassword(PASSWORD);

        // 创建连接和通道
        try (Connection connection = factory.newConnection();
             Channel channel = connection.createChannel()) {
            // 在指定的虚拟主机中声明交换机、队列等操作
            // ...

            // 发布消息到指定的虚拟主机中
            // ...
        }
    }
}

在上面的示例中,我们创建了一个虚拟主机 my_vhost,并为该虚拟主机创建了一个名为 my_user 的用户,并设置了相应的密码。然后在代码中,我们使用这个虚拟主机和用户连接到 RabbitMQ,并进行了相应的消息发布等操作。

总结来说,通过 RabbitMQ 的多租户特性,可以在单个 RabbitMQ 实例上实现消息的逻辑隔离,为不同的应用或用户组提供独立的消息环境,并可以通过设置不同用户的权限和访问控制策略来实现对虚拟主机的访问控制。

5.2 用户管理

在 RabbitMQ 中,可以通过管理界面或者使用 RabbitMQ 命令行工具来创建和管理用户,包括设置用户角色和权限。以下是通过 RabbitMQ 管理界面和命令行工具创建和管理用户的步骤:

使用 RabbitMQ 管理界面:

  1. 打开 RabbitMQ 的管理界面,通常是通过浏览器访问 http://localhost:15672。
  2. 使用管理员账号登录管理界面。默认情况下,管理员用户名为 guest,密码也为 guest,但是建议在生产环境中修改默认管理员密码。
  3. 在管理界面中,点击"Admin"标签页,然后点击"Add a user"按钮。
  4. 输入用户名和密码,然后点击"Add user"按钮创建新用户。
  5. 点击"Back to users"链接,找到刚创建的用户,然后点击"Set permission"按钮。
  6. 在设置用户权限的界面,可以为用户分配虚拟主机和角色。RabbitMQ 预定义了几种角色,如"administrator"、"monitoring"、"policymaker"和"management"。可以根据需求选择相应的角色,也可以自定义角色并分配相应的权限。
  7. 点击"Set permission"按钮保存设置。

使用 RabbitMQ 命令行工具:

在命令行中使用 rabbitmqctl 命令行工具可以创建和管理 RabbitMQ 的用户,以下是一些常用的命令:

  1. 创建用户:

rabbitmqctl add_user <username> <password>

示例:rabbitmqctl add_user myuser mypassword

  1. 设置用户角色:

rabbitmqctl set_user_tags <username> <tag>

示例:rabbitmqctl set_user_tags myuser administrator

  1. 设置用户权限:

rabbitmqctl set_permissions -p <vhost> <username> <conf> <write> <read>

示例:rabbitmqctl set_permissions -p my_vhost myuser "." "." ".*"

注意事项:

  • 管理员用户通常具有最高权限,可以创建/删除虚拟主机、用户、角色等,并且有对所有虚拟主机的完全访问权限。
  • 非管理员用户通常只能在其所属虚拟主机中进行操作。
  • 可以通过 rabbitmqctl list_users 命令查看当前所有用户和其角色。
  • 在生产环境中,建议对用户进行合理的权限划分,限制其权限范围,以确保安全性和隔离性。

总结来说,可以通过 RabbitMQ 管理界面或命令行工具来创建和管理用户,包括设置用户角色和权限。管理员用户具有最高权限,可以创建和管理其他用户和角色,非管理员用户可以在其所属虚拟主机中进行操作。在设置用户权限时,建议进行合理的权限划分,以确保系统的安全性和隔离性。

5.3 Web端管理

RabbitMQ 提供了一个强大且易用的 Web 管理界面,也称为 RabbitMQ Management Plugin。通过该界面,管理员和开发人员可以方便地进行队列、交换机、连接等管理操作,监控消息队列的状态,以及查看集群的健康状态。以下是 Web 管理界面的主要功能和优势:

  1. 可视化管理:Web 管理界面以直观的图表和表格形式展示了消息队列的状态和指标,使得管理和监控变得更加直观和易于理解。
  2. 队列和交换机管理:通过 Web 界面可以轻松地创建、删除、查看队列和交换机的信息,包括名称、类型、绑定等。管理员可以直接在界面上执行这些操作,无需使用命令行工具。
  3. 连接和通道管理:Web 管理界面提供了连接和通道的详细信息,管理员可以查看当前连接和通道的状态、消费者数、所属虚拟主机等。
  4. 虚拟主机管理:管理员可以管理虚拟主机的创建和删除,并对虚拟主机进行权限设置,以实现多租户的隔离和访问控制。
  5. 用户管理:Web 管理界面允许管理员创建、删除和管理用户,同时可以为用户设置角色和权限。
  6. 监控和性能分析:Web 管理界面提供了丰富的监控指标和性能分析信息,包括队列的消息数、消费者数、吞吐量等,可以帮助管理员实时了解系统的状态。
  7. 插件管理:RabbitMQ 支持插件机制,通过 Web 管理界面可以方便地查看和启用各种插件,拓展 RabbitMQ的功能。
  8. 集群管理:对于部署了 RabbitMQ 集群的情况,Web 管理界面可以方便地查看集群的状态、节点信息和健康状态。

使用 Web 管理界面,不仅可以简化 RabbitMQ 的管理和监控工作,还提供了直观的数据可视化,帮助管理员更好地了解消息队列的状态和性能表现。同时,Web 管理界面还支持多语言,方便了全球范围内的使用。建议在生产环境中启用 Web 管理界面,并设置合适的访问控制,以确保系统的安全性。

5.4 应用与集群管理

管理 RabbitMQ 的应用和集群包括应用的启动和关闭,以及集群节点的配置和管理。下面分别介绍这些方面的操作:

应用的启动和关闭:

  1. 启动应用:在启动 RabbitMQ 应用之前,需要先启动 Erlang 节点。然后可以通过命令行工具或脚本启动 RabbitMQ 应用。
    • 使用命令行工具启动:在命令行中输入 rabbitmq-server 命令即可启动 RabbitMQ 应用。
    • 使用脚本启动:不同操作系统可能使用不同的启动脚本。通常,Linux 系统使用 service rabbitmq-server start 命令,而 Windows 系统可以通过服务面板启动。
  1. 关闭应用:要停止 RabbitMQ 应用,可以使用以下方法:
    • 使用命令行工具:在命令行中输入 rabbitmqctl stop 命令即可停止 RabbitMQ 应用。
    • 使用脚本:在 Linux 系统上,可以使用 service rabbitmq-server stop 命令来停止 RabbitMQ 应用。在 Windows 系统上,也可以通过服务面板停止。

集群节点的配置和管理:

  1. 集群配置:要配置 RabbitMQ 集群,需要在每个节点上设置相同的 /etc/rabbitmq/rabbitmq.config 配置文件。配置文件中包含了节点名称、集群节点信息、网络端口、认证等配置。确保所有节点的配置文件保持一致,然后启动所有节点。
  2. 集群节点的加入和离开:要加入集群,需要在节点配置文件中指定其他节点的名称。节点启动后,它会自动连接到其他节点并加入集群。要离开集群,可以通过命令行工具或脚本禁用集群插件,然后重启节点。
  3. 集群健康状态监控:可以使用 RabbitMQ 的 Web 管理界面或命令行工具来监控集群的健康状态。通过查看节点状态、队列状态和消息状态等指标,可以确保集群正常运行。
  4. 集群节点的升级和维护:在集群中,如果需要对某个节点进行升级或维护,可以先将该节点从集群中移除,然后进行相应操作,完成后再加入集群。

注意事项:

  • 在设置集群时,要确保所有节点的时间同步,以避免由于时间不一致导致的问题。
  • 确保所有节点都能够相互访问,通信端口没有被防火墙阻止。
  • 在修改配置文件或执行操作时,务必备份相关数据,以防止数据丢失。

总结来说,管理 RabbitMQ 的应用和集群包括启动和关闭应用,配置集群节点,加入和离开集群,监控集群健康状态,以及节点的升级和维护。确保节点的配置一致性和正常运行,以保障 RabbitMQ 集群的稳定性和可靠性。

5.4.1 应用管理

启动和关闭 RabbitMQ 应用可以使用命令行工具或者脚本来执行。同时,RabbitMQ 提供了 Web 管理界面,可以进行应用管理的一些常见操作。以下是详细介绍:

启动和关闭 RabbitMQ 应用:

  1. 启动 RabbitMQ 应用:
    • 在 Linux 系统上,打开终端,输入以下命令启动 RabbitMQ 应用:
    • 在 Windows 系统上,打开命令提示符,输入以下命令启动 RabbitMQ 应用:
  1. 如果一切正常,RabbitMQ 应用将会启动并监听默认端口 5672。在启动 RabbitMQ 应用之前,确保已经安装并正确配置了 Erlang/OTP 环境。
rabbitmq-server
rabbitmq-server
  1. 关闭 RabbitMQ 应用:
    • 在 Linux 系统上,可以通过 Ctrl + C 来终止 RabbitMQ 应用的运行。
    • 在 Windows 系统上,可以通过在命令提示符中输入 Ctrl + C 或者关闭命令行窗口来终止 RabbitMQ 应用。

应用管理中的一些常见操作:

RabbitMQ 提供了 Web 管理界面,通过该界面可以进行应用管理的一些常见操作,包括:

  1. 队列管理:在 Web 界面中,可以创建、删除和查看队列。也可以查看队列的消息数、消费者数等指标。
  2. 交换机管理:可以创建、删除和查看交换机,并设置交换机的类型和属性。
  3. 虚拟主机管理:可以创建、删除和查看虚拟主机,并设置虚拟主机的权限和访问控制策略。
  4. 用户管理:可以创建、删除和管理用户,并设置用户角色和权限。
  5. 连接和通道管理:可以查看当前连接和通道的状态、消费者数等信息。
  6. 监控和性能分析:Web 管理界面提供了丰富的监控指标和性能分析信息,帮助管理员实时了解系统的状态和性能。
  7. 插件管理:可以查看和启用各种插件,拓展 RabbitMQ 的功能。

以上操作都可以通过 Web 管理界面直观地进行,而无需使用命令行工具。通过 Web 管理界面,管理员可以更方便地进行应用管理和监控工作,提高工作效率。

总结来说,可以使用命令行工具或脚本来启动和关闭 RabbitMQ 应用。而在应用管理方面,RabbitMQ 的 Web 管理界面提供了一系列功能,包括队列、交换机、虚拟主机、用户等的创建、删除、查看、设置等操作,同时提供监控和性能分析信息,帮助管理员更好地管理和监控 RabbitMQ 应用。

5.4.2 集群管理

配置和管理 RabbitMQ 的集群可以通过多机多节点配置和单机多节点配置来实现。下面分别介绍这两种配置方式的步骤:

多机多节点配置:

在多机多节点配置中,RabbitMQ 的不同节点运行在不同的机器上,构成一个分布式集群。这样可以实现更高的可靠性和容错性。

  1. 确保节点间的网络互通:首先确保所有节点之间的网络是互通的,即节点之间可以相互通信。确保网络端口没有被防火墙阻止。
  2. 安装并配置 Erlang/OTP:在每台机器上安装并配置相同版本的 Erlang/OTP。RabbitMQ 是基于 Erlang 开发的,因此所有节点必须使用相同版本的 Erlang/OTP。
  3. 配置节点名称:在每个节点的配置文件中,设置相同的节点名称。配置文件通常位于 /etc/rabbitmq/rabbitmq.config 或 /etc/rabbitmq/rabbitmq-env.conf。
  4. 启动 RabbitMQ 节点:在每个节点上分别启动 RabbitMQ 应用。在命令行中输入 rabbitmq-server 命令启动 RabbitMQ 应用。
  5. 加入集群:在每个节点上设置相同的 rabbitmq.conf 配置文件,包含其他节点的名称。在每个节点启动后,它们会自动连接到其他节点并加入集群。

单机多节点配置:

在单机多节点配置中,多个 RabbitMQ 节点运行在同一台机器上,这些节点可以共享相同的 Erlang/OTP 虚拟机,但是各节点的端口号必须不同。

  1. 安装并配置 Erlang/OTP:在机器上安装并配置 Erlang/OTP。确保 Erlang/OTP 环境能够支持多节点运行。
  2. 配置节点名称和端口号:在每个节点的配置文件中,设置不同的节点名称和端口号。配置文件通常位于 /etc/rabbitmq/rabbitmq.config 或 /etc/rabbitmq/rabbitmq-env.conf。
  3. 启动 RabbitMQ 节点:在每个节点上分别启动 RabbitMQ 应用。在命令行中输入 rabbitmq-server -detached 命令启动 RabbitMQ 应用。
  4. 加入集群:在每个节点上设置相同的 rabbitmq.conf 配置文件,包含其他节点的名称和端口号。在每个节点启动后,它们会自动连接到其他节点并加入集群。

无论是多机多节点配置还是单机多节点配置,集群中的节点之间要确保网络互通和配置一致性。配置完毕后,可以通过 RabbitMQ 的 Web 管理界面或命令行工具来监控和管理集群状态。集群可以提供更高的可用性和性能,保障消息的高可靠性和分布式处理能力。在进行集群配置时,务必注意备份相关数据,以防止数据丢失。

5.5 服务端状态

RabbitMQ 提供了多种方式来查看服务器的状态信息,包括队列、交换机、连接等统计数据。以下是一些常见的查看服务器状态信息的方法:

  1. Web 管理界面: RabbitMQ 的 Web 管理界面是最直观和常用的查看服务器状态信息的方式。通过浏览器访问 http://localhost:15672/(默认地址)或您配置的管理界面地址,在登录后,可以在界面上看到多个选项卡,每个选项卡显示了不同的统计数据,如:
    • Overview(总览):显示了整个 RabbitMQ 服务器的概览信息,包括活动连接、队列数、消息发布率等。
    • Queues(队列):显示了所有队列的详细信息,包括队列的名称、消息数、消费者数等。
    • Exchanges(交换机):显示了所有交换机的详细信息,包括交换机的名称、类型、绑定信息等。
    • Connections(连接):显示了当前所有连接的详细信息,包括连接的名称、客户端地址、虚拟主机等。
    • Channels(通道):显示了当前所有通道的详细信息,包括通道的编号、消费者数等。
  1. 命令行工具: RabbitMQ 提供了命令行工具 rabbitmqctl 来查看服务器状态信息。您可以在终端或命令提示符中输入以下命令来获取相应的统计数据:
    • 查看队列信息:rabbitmqctl list_queues
    • 查看交换机信息:rabbitmqctl list_exchanges
    • 查看连接信息:rabbitmqctl list_connections
    • 查看通道信息:rabbitmqctl list_channels
    • 查看节点状态:rabbitmqctl status
  1. HTTP API 接口: RabbitMQ 提供了 HTTP API 接口,可以通过发送 HTTP 请求获取服务器的状态信息。API 接口的地址通常为 http://localhost:15672/api/(默认地址),您可以使用 curl 命令或任何 HTTP 客户端库来访问 API 接口,获取各种统计数据。
  2. 插件: RabbitMQ 支持各种插件,这些插件可以提供额外的功能和统计信息。您可以查看 RabbitMQ 官方文档,了解更多关于插件的信息。

总的来说,RabbitMQ 提供了丰富的方式来查看服务器的状态信息,包括 Web 管理界面、命令行工具、HTTP API 接口等。通过监控服务器的状态信息,您可以更好地了解 RabbitMQ 的运行状态,帮助调优和排查问题。

5.6 HTTP API 接口管理

RabbitMQ 提供了 HTTP API 接口,通过这些接口可以方便地对 RabbitMQ 进行管理和监控。API 接口的地址通常为 http://localhost:15672/api/(默认地址),您可以使用 curl 命令或任何 HTTP 客户端库来访问 API 接口。以下是一些常用的 HTTP API 接口和其用法:

  1. 获取队列列表:

GET /api/queues

这个接口用于获取所有队列的列表。返回的 JSON 数据中包含队列的名称、消息数量、消费者数量等信息。

  1. 获取交换机列表:

GET /api/exchanges

这个接口用于获取所有交换机的列表。返回的 JSON 数据中包含交换机的名称、类型、是否持久化等信息。

  1. 获取连接列表:

GET /api/connections

这个接口用于获取当前所有连接的列表。返回的 JSON 数据中包含连接的名称、客户端地址、虚拟主机等信息。

  1. 获取通道列表:

GET /api/channels

这个接口用于获取当前所有通道的列表。返回的 JSON 数据中包含通道的编号、是否活跃、消费者数量等信息。

  1. 获取节点信息:

GET /api/nodes

这个接口用于获取所有节点的信息。返回的 JSON 数据中包含节点的名称、内存使用情况、磁盘使用情况等信息。

  1. 获取队列的消息数量:

GET /api/queues/vhost/queue-name

这个接口用于获取特定队列的消息数量。其中 vhost 是虚拟主机名称,queue-name 是队列名称。

  1. 获取队列的消息详情:

GET /api/queues/vhost/queue-name/get

这个接口用于从队列中获取消息的详细信息。其中 vhost 是虚拟主机名称,queue-name 是队列名称。

通过 HTTP API 接口,您可以通过编程的方式访问 RabbitMQ 的状态信息,并根据需要进行监控和管理。请注意,为了安全性考虑,API 接口需要进行身份验证。您需要使用 RabbitMQ 的用户名和密码进行认证,可以通过添加 HTTP 头信息 Authorization: Basic base64encode(username:password) 来实现认证。

同时,使用 API 接口时需谨慎处理敏感信息,避免泄露敏感数据,建议仅在受信任的环境中使用 API 接口。在编程时,您可以使用脚本、HTTP 客户端库或 REST 客户端库来访问 API 接口,以便更方便地进行监控和管理 RabbitMQ。

5.7 小结

本章介绍了 RabbitMQ 的管理特性,包括多租户与权限、用户管理、Web 端管理、应用与集群管理、服务端状态和 HTTP API 接口管理等内容。在下一章中,我们将学习 RabbitMQ 的配置,包括环境变量、配置文件、参数及策略等内容。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB | 如何绘制这样的描边散点图?

part.-1 前前言 最近略忙可能更新的内容会比较简单&#xff0c;见谅哇&#xff0c;今日更新内容&#xff1a; part.0 前言 看到gzhBYtools科研笔记(推荐大家可以去瞅瞅&#xff0c;有很多有意思的图形的R语言复现&#xff01;&#xff01;)做了这样一张图&#xff1a; 感觉很…

【论文阅读24】Better Few-Shot Text Classification with Pre-trained Language Model

论文相关 论文标题&#xff1a;论文标题&#xff1a;Label prompt for multi-label text classification&#xff08;基于预训练模型对少样本进行文本分类&#xff09; 发表时间&#xff1a;2021 领域&#xff1a;多标签文本分类 发表期刊&#xff1a;ICANN&#xff08;顶级会…

CASAIM自动化平面度检测设备3D扫描零部件形位公差尺寸测量

平面度是表面形状的度量&#xff0c;指示沿该表面的所有点是否在同一平面中&#xff0c;当两个表面需要连接在一起形成紧密连接时&#xff0c;平面度检测至关重要。 CASAIM自动化平面度检测设备通过搭载领先的激光三维测头和智能检测软件自动获取零部件高质量测量数据&#xf…

【LeetCode】最小路径和

最小路径和 题目描述算法流程编程代码 链接: 最小路径和 题目描述 算法流程 编程代码 class Solution { public:int minPathSum(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();vector<vector<int>> dp(m1,vector<in…

Ae 效果:CC Kernel

颜色校正/CC Kernel Color Correction/CC Kernel CC Kernel&#xff08;CC 卷积核&#xff09;效果主要用于图像的卷积处理&#xff0c;通过在卷积矩阵中设置不同的权重值&#xff0c;可以实现图像的锐化 Sharpen、模糊 Blur、查找边缘 Find Edges以及浮雕 Emboss等效果。 ◆ …

<C语言> 预处理和宏

1.预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C&#xff0c;其值为1&#xff0c;否则未定义这些预定义符号都是C语言内置的。 举个例子&…

谷歌: 安卓补丁漏洞让 N-days 与 0-days 同样危险

近日&#xff0c;谷歌发布了年度零日漏洞报告&#xff0c;展示了 2022 年的野外漏洞统计数据&#xff0c;并强调了 Android 平台中长期存在的问题&#xff0c;该问题在很长一段时间内提高了已披露漏洞的价值和使用。 更具体地说&#xff0c;谷歌的报告强调了安卓系统中的 &quo…

vue3常用API之学习笔记

目录 一、setup函数 vue2与vue3变量区别 二、生命周期 三、reactive方法 四、ref方法 1、简介 2、使用 3、ref与reactive 4、获取标签元素或组件 五、toRef 1、简介 2、ref与toRef的区别 六、toRefs 七、shallowReactive 浅reactive 1、简介 2、shallowreactiv…

Debian 12.1 “书虫 “发布,包含 89 个错误修复和 26 个安全更新

导读Debian 项目今天宣布&#xff0c;作为最新 Debian GNU/Linux 12 “书虫 “操作系统系列的首个 ISO 更新&#xff0c;Debian 12.1 正式发布并全面上市。 Debian 12.1 是在 Debian GNU/Linux 12 “书虫 “发布六周后推出的&#xff0c;目的是为那些希望在新硬件上部署操作系统…

JMeter发送get请求并分析返回结果

在实际工作的过程中&#xff0c;我们通常需要模拟接口&#xff0c;来进行接口测试&#xff0c;我们可以通过JMeter、postman等多种工具来进行接口测试&#xff0c;但是工具的如何使用对于我们来说并不是最重要的部分&#xff0c;最重要的是设计接口测试用例的思路与分析结果的能…

硬核来袭!中国AI大模型峰会“封神之作”,开发者们不容错过!

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二名&#xff0c;科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

PDF文件忘记密码,怎么办?

PDF文件设置密码分为打开密码和限制密码&#xff0c;忘记了密码分别如何解密PDF密码&#xff1f; 如果是限制编辑密码忘记了&#xff0c;我们可以试着将PDF文件转换成其他格式来避开限制编辑&#xff0c;然后重新将文件转换回PDF格式就可以了。 如果因为转换之后导致文件格式…

MapBox 做聚合图点位聚合效果实现教程

最近收到一个需求&#xff0c;要对 5000的点位进行展示。直接展示的话满屏幕都是点&#xff0c;效果太丑&#xff0c;于是想到了聚合&#xff0c;聚合有很多种方案。首先你可以手动的些代码来计算某个范围内的点的数量然后再把聚合的结果展示在这个范围的某个位置。这针对于简单…

PMP证书查询 ACP证书查询 PMP/ACP证书查询 PMP证书真伪查询 ACP证书真伪查询PMI证书查询

PMP证书查询 ACP证书查询 PMP/ACP证书查询 PMP证书真伪查询 ACP证书真伪查询PMI证书查询 一、查询步骤 1、地址&#xff1a; https://www.pmi.org/certifications/certification-resources/registry 2、查询截图&#xff1a; 2.1、证书类型如下&#xff1a; 3、查到证书 4、没…

python语言程序设计基础(第2版)课后答案

这篇文章主要介绍了python语言程序设计基础第二版课后答案&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 第一章 初识Python 1.1学好Python的关键 刷代码&#xff1a;寻找一个…

安科瑞电动机保护器产品在污水处理厂的应用-安科瑞黄安南

应用场景 功能 1&#xff09;排污泵经常会出现过载、缺相等问题&#xff0c;导致电机烧坏&#xff1b; 2&#xff09;为电动机提供完善的保护&#xff0c;并具备多种事件记录追忆功能&#xff1b; 3&#xff09;全电参量测量&#xff0c;包括但不限于三相电流、三相电压、有…

简约好看的帮助中心创建案例,赶紧点赞收藏!

在线帮助中心创建案例是提供用户支持和解决问题的有效方式之一。一个简约好看的帮助中心案例能够帮助用户快速找到需要的信息并解决问题&#xff0c;同时也能提升用户体验&#xff0c;增加点赞和收藏的可能性。 帮助中心创建案例分享&#xff1a; 酷学院&#xff1a; 酷渲&a…

这款轻量级规则引擎,真香!

大家好&#xff0c;我是老三&#xff0c;之前同事用了一款轻量级的规则引擎脚本AviatorScript&#xff0c;老三也跟着用了起来&#xff0c;真的挺香&#xff0c;能少写很多代码。这期就给大家介绍一下这款规则引擎。 简介 AviatorScript 是一门高性能、轻量级寄宿于 JVM &…

决策树的划分依据之:信息增益率

在上面的介绍中&#xff0c;我们有意忽略了"编号"这一列.若把"编号"也作为一个候选划分属性&#xff0c;则根据信息增益公式可计算出它的信息增益为 0.9182&#xff0c;远大于其他候选划分属性。 计算每个属性的信息熵过程中,我们发现,该属性的值为0, 也就…

2023年的深度学习入门指南(24) - 处理音频的大模型 OpenAI Whisper

2023年的深度学习入门指南(24) - 处理音频的大模型 OpenAI Whisper 在这一讲之前&#xff0c;我们所用的大模型都是针对文本的。这一讲我们增加一个新的领域&#xff0c;即音频。我们将介绍OpenAI的Whisper模型&#xff0c;它是一个处理音频的大模型。 Whisper模型的用法 Wh…