All Projects → edp963 → Wormhole

edp963 / Wormhole

Licence: other
Wormhole is a SPaaS (Stream Processing as a Service) Platform

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Wormhole

Streaming Readings
Streaming System 相关的论文读物
Stars: ✭ 554 (-35.81%)
Mutual labels:  stream-processing, spark-streaming
open-stream-processing-benchmark
This repository contains the code base for the Open Stream Processing Benchmark.
Stars: ✭ 37 (-95.71%)
Mutual labels:  stream-processing, spark-streaming
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+440.21%)
Mutual labels:  stream-processing
Redis Stream Demo
Demo for Redis Streams
Stars: ✭ 24 (-97.22%)
Mutual labels:  stream-processing
Faust
Python Stream Processing
Stars: ✭ 5,899 (+583.55%)
Mutual labels:  stream-processing
Cdap
An open source framework for building data analytic applications.
Stars: ✭ 509 (-41.02%)
Mutual labels:  spark-streaming
Gearpump
Lightweight real-time big data streaming engine over Akka
Stars: ✭ 745 (-13.67%)
Mutual labels:  stream-processing
Learningspark
Scala examples for learning to use Spark
Stars: ✭ 421 (-51.22%)
Mutual labels:  spark-streaming
Hazelcast Jet
Distributed Stream and Batch Processing
Stars: ✭ 855 (-0.93%)
Mutual labels:  stream-processing
Automi
A stream processing API for Go (alpha)
Stars: ✭ 617 (-28.51%)
Mutual labels:  stream-processing
Bandar Log
Monitoring tool to measure flow throughput of data sources and processing components that are part of Data Ingestion and ETL pipelines.
Stars: ✭ 19 (-97.8%)
Mutual labels:  spark-streaming
Go Streams
A lightweight stream processing library for Go
Stars: ✭ 615 (-28.74%)
Mutual labels:  stream-processing
Sparta
Real Time Analytics and Data Pipelines based on Spark Streaming
Stars: ✭ 513 (-40.56%)
Mutual labels:  spark-streaming
Spring Cloud Dataflow
A microservices-based Streaming and Batch data processing in Cloud Foundry and Kubernetes
Stars: ✭ 753 (-12.75%)
Mutual labels:  stream-processing
Stream Json
The micro-library of Node.js stream components for creating custom JSON processing pipelines with a minimal memory footprint. It can parse JSON files far exceeding available memory streaming individual primitives using a SAX-inspired API.
Stars: ✭ 462 (-46.47%)
Mutual labels:  stream-processing
Mobius
C# and F# language binding and extensions to Apache Spark
Stars: ✭ 929 (+7.65%)
Mutual labels:  spark-streaming
Ksql
The database purpose-built for stream processing applications.
Stars: ✭ 4,668 (+440.9%)
Mutual labels:  stream-processing
Spring Cloud Stream
Framework for building Event-Driven Microservices
Stars: ✭ 662 (-23.29%)
Mutual labels:  stream-processing
Tuna
🐟 A streaming ETL for fish
Stars: ✭ 11 (-98.73%)
Mutual labels:  stream-processing
Vector
A reliable, high-performance tool for building observability data pipelines.
Stars: ✭ 8,736 (+912.28%)
Mutual labels:  stream-processing

License Build Status Coverage Status

Wormhole

来自宜信技术研发中心的流式处理平台

Wormhole 是一个一站式流式处理云平台解决方案(SPaaS - Stream Processing as a Service)。

Wormhole 面向大数据流式处理项目的开发管理运维人员,致力于提供统一抽象的概念体系,直观可视化的操作界面,简单流畅的配置管理流程,基于 SQL 即可完成的业务逻辑开发方式,并且屏蔽了流式处理的底层技术细节,极大的降低了数据项目管理运维门槛,使得大数据流式处理项目的开发管理运维变得更加轻量敏捷可控可靠。

Documentation

Please refer to Wormhole用户手册.

Architecture

设计理念

  • 统一 DAG 高阶分形抽象
    • 构建由 Source DataSys,Kafka Topic,Spark Stream(Flink Stream),Sink DataSys 组成的物理 DAG
    • 每个物理 DAG 里可以并行处理多个由 Source Namespace,Flow,Sink Namespace 组成的逻辑 DAG
    • 每个 Flow 本身是典型的 Spark RDD DAG
  • 统一通用流消息 UMS 协议抽象
    • UMS 是 Wormhole 定义的流消息协议规范
    • UMS 试图抽象统一所有结构化消息
    • UMS 自身携带结构化数据 Schema 信息
    • Wh4 支持用户自定义半结构化 JSON 格式
  • 统一数据逻辑表命名空间 Namespace 抽象
    • Namespace 唯一定位所有数据存储所有结构化逻辑表
    • [Data System].[Instance].[Database].[Table].[Table Version].[Database Partition].[Table Partition]

主要特性

  • 支持可视化,配置化,SQL 化开发实施流式项目
  • 支持指令式动态流式处理的管理,运维,诊断和监控
  • 支持统一结构化 UMS 消息和自定义半结构化 JSON 消息
  • 支持处理增删改三态事件消息流
  • 支持单个物理流同时并行处理多个逻辑业务流
  • 支持流上 Lookup Anywhere,Pushdown Anywhere
  • 支持基于业务策略的事件时间戳流式处理
  • 支持UDF的注册管理和动态加载
  • 支持多目标数据系统的并发幂等入库
  • 支持多级基于增量消息的数据质量管理
  • 支持基于增量消息的流式处理和批量处理
  • 支持 Lambda 架构和 Kappa 架构
  • 支持与三方系统无缝集成,可作为三方系统的流控引擎
  • 支持私有云部署,安全权限管控和多租户资源管理

Experience

Admin 可以创建 Project/Namespace/User/UDF,并且可以查看所有 Flow/Stream/Job

Admin 可以为 Project 分配 Namespace 资源/User 资源/UDF 资源/计算资源,以支持多租户资源隔离

User 可以对自己有权限的 Project 进行开发实施和管理运维工作

User 可以通过简单配置步骤即可搭建起一个流式作业 pipeline(Flow),只需关注数据从哪来到哪去和如何转换处理

转换支持大部分流上作业常用场景,大部分工作可以通过配置 SQL 实现流上处理逻辑

Wormhole 有 Flow 和 Stream 的概念,支持在一个物理 Stream(对应一个 Spark Stream)里通过并行处理多个逻辑 Flow,使得 User 可以更加精细灵活的利用计算资源,User 也可以对 Stream 进行精细化参数配置调整以更好平衡需求和资源

Wormhole 也支持批处理 Job,同样可以配置化实现处理逻辑并落到多个异构 Sink,Flow 和 Job 的配合可以很容易实现 Lambda 架构和 Kappa架构

User 可以查看 Project 相关的 Namespace/User/UDF/Resource

User还可以监控 Project 正在运行的所有 Flow/Stream 的吞吐和延迟

以上是简短的功能和用户体验预览,更多强大的细节功能请参见 Documentation

Latest Release

Please download the latest RELEASE(链接:https://pan.baidu.com/s/1cJqlTKdeudkqY-vD4F8cqQ 密码:mhq4).

Get Help

License

Wormhole is under the Apache 2.0 license. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].