0.3.1 |
|
---|---|
0.3.0 |
|
0.2.1 |
|
0.1.4 |
|
#36 in #fluvio
1MB
25K SLoC
命令行界面
Fluvio 命令行界面(简称 CLI)是 Fluvio 集群的 primary 通信机制。
集群由两个组件组成,分别使用各自的命令运行
- 流式控制器(fluvio run sc)
- 流式处理单元(fluvio run spu)
Kafka
Fluvio CLI 也与 Kafka 2.x 兼容。Fluvio 通过一个用户友好的命令行界面,使系统管理员能够轻松地部署 Kafka 和 Fluvio 环境。
配置文件
Fluvio CLI 使用配置文件来存储大多数常用参数。这种方法为管理员提供了与 SC、SPU 或 Kafka 环境通信的便利。
生产 CLI
生产 CLI 可在一次会话中摄取一个或多个日志记录。主题和分区是必填参数,其他为可选。
Write log records to a topic/partition
USAGE:
fluvio produce [OPTIONS] --partition <integer> --topic <string>
FLAGS:
-h, --help Prints help information
OPTIONS:
-t, --topic <string> Topic name
-p, --partition <integer> Partition id
-l, --record-per-line <filename> Each line is a Record
-r, --record-file <filename>... Entire file is a Record (multiple)
-c, --sc <host:port> Address of Streaming Controller
-s, --spu <host:port> Address of Streaming Processing Unit
-k, --kf <host:port> Address of Kafka Controller
-e, --profile <profile> Profile name
应将生产主题/分区的命令发送到 SC 以查找托管领导者的 SPU 的位置。然后直接将日志记录发送到 SPU。
生产命令还可以将日志消息发送到 Kafka。选择任何代理地址,系统将识别托管领导者的代理并相应地转发日志记录。
直接发送到 SPU 的日志记录如果是主题/分区的领导者将被接受;否则将被拒绝。
交互式 CLI
带有主题/分区的生产命令将打开一个交互式会话,其中每行都被解释为一条记录
> fluvio produce -t topic-1 -p 0
line 1
> Ok!
line 2
> Ok!
<Ctrl>-C or <Ctrl>-D to exit (interactive session)
文件记录
Fluvio 生产可以从文件中摄取日志记录,如下所示
- 每文件记录
- 每行记录
对于必须存储其全部内容才能正确由消费者解释的二进制或 JSON 对象,记录封装非常重要。
每文件记录
使用 record-file 参数将整个文件作为一个记录摄取。一次可以发送一个或多个文件。
> fluvio produce -t topic-1 -p 0 -r json-file1.txt -r json-file2.txt
{"name": "john doe"}
> Ok!
{"name": "jane doe"}
> Ok!
每行记录
使用 record-per-line 参数按行摄取记录,直到达到文件末尾。注意,使用基于文本的文件以正确解释行尾。
> fluvio produce -t topic-1 -p 0 -l my-file.txt
Lorem Ipsum is simply dummy text
> Ok!
Lorem Ipsum has been the industry's standard since 1500's.
> Ok!
It has survived over five centuries
> Ok!
依赖关系
~38–58MB
~1M SLoC