Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

Gearman

Gearman 提供一个通用应用框架,用于将工作分派给更适合执行这些工作的其他机器或进程。它允许你并行处理工作、进行处理负载均衡,并在不同语言之间调用函数。它可用于多种应用场景,从高可用性网站到数据库复制事件的传输。换句话说,它是分布式处理通信方式的神经系统。

历史

Gearman 的第一个实现来自 Danga Interactive (LiveJournal/SixApart) 的人员。这个名称是“Manager”的字母重排,因为它会派发要完成的 jobs,但自身并不做任何有用的工作。这个 wiki 的建立是为了提供一个统一位置来组织与 Gearman 相关的所有信息。内容会定期更新,所以请经常回来查看。如果你想了解更多或参与其中,也可以查看其他通信方式!

它以前运行在 port 7003 上,但这与 AFS port range 冲突,因此 IANA 分配了新的 port (4730)。通信发生在 client 与 job server 之间,或 worker 与 job server 之间。

协议依赖

  • TCP:通常,Gearman protocol 使用 TCP 作为其传输协议。Gearman 流量的 well known TCP port 是 4730。

示例流量

[REQ] CAN_DO(1) LEN=2

  • Magic Code: \0REQ Packet Type: CAN_DO (1) Data Length: 2 Data Content: wc
  • Function Name: wc

[REQ] GRAB_JOB(9) LEN=0

  • Magic Code: \0REQ Packet Type: GRAB_JOB (9) Data Length: 0

[RES] NO_JOB(10) LEN=0

  • Magic Code: \0RES Packet Type: NO_JOB (10) Data Length: 0

[REQ] PRE_SLEEP(4) LEN=0

  • Magic Code: \0REQ Packet Type: PRE_SLEEP (4) Data Length: 0

[REQ] GRAB_JOB(9) LEN=0

  • Magic Code: \0REQ Packet Type: GRAB_JOB (9) Data Length: 0

[RES] JOB_ASSIGN(11) LEN=984

  • Magic Code: \0RES Packet Type: JOB_ASSIGN (11) Data Length: 984 Data Content: H:debian:1
  • Job Handle: H:debian:1 Function Name: wc Function Argument [truncated]: SYSTEM...

[REQ] WORK_COMPLETE(13) LEN=14

  • Magic Code: \0REQ Packet Type: WORK_COMPLETE (13) Data Length: 14 Data Content: H:debian:1
  • Job Handle: H:debian:1 Function Result: 10\n

Wireshark

Gearman dissector 部分可用。之后还会在适当位置添加其他 Wireshark 功能的信息,例如该协议的特殊统计信息。

示例捕获文件

  • SampleCaptures/gearman.pcap

显示过滤器

gearman 显示过滤器字段的完整列表可在显示过滤器参考中找到

只显示基于 gearman 的流量:

 gearman

捕获过滤器

捕获时不能直接过滤 gearman 协议。不过,如果你知道所使用的 TCP port(见上文),可以基于该 port 进行过滤。

只捕获默认 port (4730) 上的 PROTO 流量:

 tcp port 4730

外部链接

  • Gearman Protocol

讨论

Imported from https://wiki.wireshark.org/Gearman on 2020-08-11 23:14:15 UTC

相关 Wireshark Wiki 页面

网络分析技术档案