broadway
2,693
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Elixir
语言
—
创建时间
最近更新
项目能做什么
基于 Elixir 的高并发、多阶段数据摄取与处理框架。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Broadway
[](https://github.com/dashbitco/broadway/actions/workflows/ci.yml)
Build concurrent and multi-stage data ingestion and data processing pipelines with Elixir. Broadway allows developers to consume data efficiently from different sources, known as producers, such as Amazon SQS, Apache Kafka, Google Cloud PubSub, RabbitMQ, and others. Broadway pipelines are long-lived, concurrent, and robust, thanks to the Erlang VM and its actors.
Broadway takes its name from the famous [Broadway street](https://en.wikipedia.org/wiki/Broadway_theatre) in New York City, renowned for its stages, actors, and producers.
To learn more and get started, check out [our official website](https://elixir-broadway.org) and [our guides and docs](https://hexdocs.pm/broadway).

## Built-in features
Broadway takes the burden of defining concurrent GenStage topologies and provides a simple configuration API that automatically defines concurrent producers, concurrent processing, batch handling, and more, leading to both time and cost efficient ingestion and processing of data. It features:
* Back-pressure
* Automatic acknowledgements at the end of the pipeline
* Batching
* Fault tolerance
* Graceful shutdown
* Built-in testing
* Custom failure handling
* Ordering and partitioning
* Rate-limiting
* Metrics
### Producers
There are several producers that you can use to integrate with existing services and technologies. [See the docs for detailed how-tos and supported producers](https://hexdocs.pm/broadway/introduction.html#official-producers).
## Installation
Add `:broadway` to the list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:broadway, "~> 1.0"}
]
end
```
## A quick example: SQS integration
Assuming you have added [`broadway_sqs`](https://github.com/dashbitco/broadway_sqs) as a dependency and configured your SQS credentials accordingly, you can consume Amazon SQS events in only 20 LOCs:
```elixir
defmodule MyBroadway do
use Broadway
alias Broadway.Message
def start_link(_opts) do
Broadway.start_link(__MODULE__,
name: __MODULE__,
producer: [
module: {BroadwaySQS.Producer, queue_url: "https://us-east-2.queue.amazonaws.com/100000000001/my_queue"}
],
processors: [
default: [concurrency: 50]
],
batchers: [
s3: [concurrency: 5, batch_size: 10, batch_timeout: 1000]
]
)
end
def handle_message(_processor_name, message, _context) do
message
|> Message.update_data(&process_data/1)
|> Message.put_batcher(:s3)
end
def handle_batch(:s3, messages, _batch_info, _context) do
# Send batch of messages to S3
end
defp process_data(data) do
# Do some calculations, generate a JSON representation, process images.
end
end
```
Once y
阅读完整原文
项目深度分析 AI 生成
Broadway 实时可视化监控与死信管理面板 (Broadway Dashboard UI)
| 产品构想 | 针对 Broadway 流水线构建专用的 Web 管理控制台,提供吞吐量/背压监控、拓扑图可视化,以及死信队列(DLQ)消息重试、编辑和过滤功能。 |
| 核心功能 | 实时 Telemetry 指标集成可视化、流水线各 Stage 积压与背压警报、死信消息检查与一键重放、动态并发度调优控制 |
| 目标用户 | 运行生产级 Broadway 任务的 Elixir 工程师与运维人员 |
| 难度/周期 | 中等 · 1 - 2 个月 · 成本:低(基础云主机与前端组件库) |
| 收费模式 | 核心开源 + 商业版(高级审计日志、告警集成、多集群管理按实例/节点订阅收费) |
| 竞争风险 | Elixir 开发者习惯自行使用 Phoenix LiveView 开发简易管理页,需确保商业功能足够深入以打动买家 |
| 依据 | 已验证事实 |
高阶商业化 Producer/Batcher 扩展套件 (Broadway Enterprise Connectors)
| 产品构想 | 针对非官方或复杂企业数据源(如 Snowflake、ClickHouse、Salesforce CDC、MongoDB Change Streams 等)提供即插即用、经过压力测试的 Broadway 适配器套件。 |
| 核心功能 | 高性能批量写入(ClickHouse/Snowflake)、CDC(变更数据捕获)解析器、断点续传与 Checkpoint 状态存储机制 |
| 目标用户 | 正在将旧系统迁移至 Elixir 或在现代数据栈中使用 Elixir 进行 ETL/CDC 数据接入的企业 |
| 难度/周期 | 中等 · 2 - 3 个月 · 成本:低 |
| 收费模式 | 闭源商业 License 授权或按连接器年度订阅收费 |
| 竞争风险 | 目标市场依赖于在数据分析/数仓领域使用 Elixir 的小众客群,需求体量有限 |
| 依据 | 尚需验证的假设 |
Broadway 性能调优与高并发管道咨询审计服务
| 产品构想 | 为采用 Broadway 构建核心吞吐业务的团队提供架构审查、瓶颈定位、分区排序保障及失败降级策略的设计咨询与按需支持。 |
| 核心功能 | Pipeline 拓扑架构审查、Telemetry 性能指标诊断报告、定制批处理与限流参数配置策略、线上事故复盘与方案优化 |
| 目标用户 | 面临高并发流量瓶颈或偶发死锁/消息丢失隐患的成长型科技公司 |
| 难度/周期 | 低(偏重领域经验与人力交付) · 即时开展(1-2 周/客户) · 成本:极低 |
| 收费模式 | 按次咨询费、按架构审查项目包或按月技术支持服务费 |
| 竞争风险 | 服务交付难以规模化扩展,且 Dashbit 官方团队在社区中具有绝对技术话语权 |
| 依据 | 推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| mbebenita/Broadway | 中文介绍暂未生成 A JavaScript H.264 decoder. |
2,806 | C |
| broadway/broadway | 中文介绍暂未生成 Infrastructure and testing helpers for creating CQRS and eve |
1,506 | PHP |
| indexzero/broadway | 中文介绍暂未生成 Lightweight App extensibility and hookable middleware custom |
254 | JavaScript |
| elixir-broadway/broadway_kafka | 中文介绍暂未生成 A Broadway connector for Kafka |
251 | Elixir |
| elixir-broadway/broadway_dashboard | 中文介绍暂未生成 Keep track of your Broadway pipelines from Phoenix LiveDashb |
249 | Elixir |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建时间待补全,最近推送 |
| 社区活跃 | Star 2,693 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。