测试人社区

selenium-服务网格的组件


title: “服务网格的组件”
weight: 1

Grid

Router

路由器负责将请求转发到正确的组件.

它是网格的入口,所有外部请求都将借此被网格接收.
路由器的行为取决于请求.
如果是新的会话请求,
则路由器会将其转发到分发服务器 (将在其中处理并创建新的会话).
如果请求属于存量会话,则路由器会将会话ID发送到会话集合,
会话集合将返回会话正在运行的节点.
此后, 路由器会将请求转发到节点.

路由器旨在通过将请求发送到能够更好地处理请求的组件,
来平衡网格中的负载,
从而避免过程中任何组件无谓地过载.

Distributor

分发器知道所有节点及其功能.
它的主要作用是接收新的会话请求
并找到可以在其中创建会话的适当节点.
创建会话后, 分发器在会话集合中存储会话ID与正在执行会话的节点之间的关系.

Node

一个节点可以在网格中出现多次.
每个节点负责管理其运行机器的可用浏览器的插槽.

节点通过事件总线将其自身注册到分发服务器,
并且将其配置作为注册消息的组成部分一起发送.

默认情况下,
节点会自动注册运行它的计算机路径上所有可用的浏览器驱动程序.
它还为基于Chromium的浏览器和Firefox的每个可用的CPU都创建插槽.
对于Safari和Internet Explorer,
则仅创建一个插槽。
通过特定的配置,
它可以在Docker容器中运行会话.
您可以在下一 [章节]({{< ref “https://www.selenium.dev/documentation/zh-cn/grid/grid_4/setting_up_your_own_grid” >}})
中查看更多配置详细信息.

节点仅执行接收到的命令,
它不进行评估、做出判断或控制任何事情.
运行节点的计算机不需要与其他组件具有相同的操作系统.
例如, Windows节点可以具有将Internet Explorer作为浏览器选项的功能,
而在Linux或Mac上则无法实现.

Session Map

会话集合是一种数据存储的形式,
用于保存会话ID和会话正在运行的节点的信息.
它在将请求转发到节点的过程中为路由器提供支持.
路由器将向会话集合询问与会话ID关联的节点.
当以完全分布式模式启动Grid时,
Session Map是应该启动的第一个组件.

Event Bus

事件总线作为一种通讯的路径,
服务于节点、分发服务器和会话集合之间.
网格通过消息进行大部分内部通信,
从而避免了昂贵的HTTP调用.

Roles in Grid

在网格3中, 组件是集线器和节点,
可以通过以独立模式启动网格来一起运行它们.
Grid 4中提供了相同的概念,
可以通过对上述某些组件进行分组来运行集线器,
也可以在独立模式下一起运行所有组件.

Hub

集线器是以下组件的结合:

  • 路由器
  • 分发器
  • 会话集合
  • 事件总线

它启用传统集线器和节点(们)的设置.

Standalone

如前所述, 独立模式是所有组件的结合,
并且在用户看来, 它们作为一个组件执行.
这包括集线器的部分组件,
再加上一个节点.
在独立模式下启动后,
可以使用一个功能齐全的网格.

官方链接为:https://www.selenium.dev/documentation/zh-cn/grid/grid_4/components_of_a_grid