/incubator-eventmesh

EventMesh is a dynamic event-driven application runtime used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.

Primary LanguageJavaApache License 2.0Apache-2.0




CI status CodeCov Code Quality: Java Total Alerts

License GitHub Release Slack Status

📦 Documentation | 📔 Examples | ⚙️ Roadmap | 🌐 简体中文

Apache EventMesh (Incubating)

Apache EventMesh (Incubating) is a dynamic event-driven application multi-runtime used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.

Multi-Runtime Architecture

EventMesh Architecture

Core Features

Orchestration

EventMesh Orchestration

Data Mesh

EventMesh Data Mesh

Components

Apache EventMesh (Incubating) consists of multiple components that integrate different middlewares and messaging protocols to enhance the functionalities of the application runtime.

  • eventmesh-runtime: The EventMesh core server designed by Microkernel Architecture.
  • eventmesh-sdk-java: The Java SDK that supports HTTP, TCP, and gRPC protocols.
  • eventmesh-sdk-go: The Golang SDK that supports HTTP, TCP, and gRPC protocols.
  • eventmesh-sdk-rust: The Rust SDK that supports HTTP, TCP, and gRPC protocols.
  • eventmesh-connector-plugin: The collection of plugins that connects middlewares such as Apache RocketMQ, Apache Kafka(incubator), Apache Pulsar(incubator), RabbitMQ(incubator), Redis (incubator), Pravega(incubator), and RDMS(in progress) using JDBC (in progress).
  • eventmesh-registry-plugin: The collection of plugins that integrate service registries such as Consul, Nacos, ETCD and Zookeeper.
  • eventmesh-security-plugin: The collection of plugins that implement security mechanisms, such as ACL (access control list), authentication, and authorization.
  • eventmesh-protocol-plugin: The collection of plugins that implement messaging protocols, such as CloudEvents, AMQP(in progress) and MQTT(in progress).
  • eventmesh-workflow-go: The Serverless workflow engine implementation.
  • eventmesh-catalog-go: The catalog implementation follow AsyncAPI.
  • eventmesh-admin: The control plane that manages clients, topics, and subscriptions.

Roadmap

Please go to the roadmap to get the release history and new features of Apache EventMesh (Incubating).

Quick start

Here are the guidelines:

Step 1: Deploy eventmesh-store

Step 2: Start eventmesh-runtime

Step 3: Run our demos

Besides, we also provide the docker-version guidelines for you if you prefer Docker:

Step 1: Deploy eventmesh-store using docker

Step 2: Start eventmesh-runtime using docker

Step 3: Run our demos

Contributing

Each contributor has played an important role in promoting the robust development of Apache EventMesh (Incubating). We sincerely appreciate all contributors who have contributed code and documents.

Here is the List of Contributors, thank you all! :)

CNCF Landscape

Apache EventMesh (Incubating) enriches the CNCF Cloud Native Landscape.

License

Apache EventMesh (Incubating) is licensed under the Apache License, Version 2.0.

Community

WeChat Assistant WeChat Public Account Slack
Join Slack Chat

Mailing List

Name Description Subscribe Unsubscribe Archive
Users User discussion Subscribe Unsubscribe Mail Archives
Development Development discussion (Design Documents, Issues, etc.) Subscribe Unsubscribe Mail Archives
Commits Commits to related repositories Subscribe Unsubscribe Mail Archives