EventMesh(incubating) 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.
EventMesh Architecture:
Components:
- eventmesh-runtime : an middleware to transmit events between event producers and consumers, support cloud native apps and microservices.
- eventmesh-sdk-java : currently supports HTTP and TCP protocols.
- eventmesh-connector-api : an api layer based on OpenMessaging api and SPI pluggin, which can be implemented by popular EventStores such as IMDG, Messaging Engine and OSS etc.
- eventmesh-connector-plugin : plugins for connector.
- eventmesh-connector-standalone : an implementation of eventmesh-connector-api, pub event to or sub event from InMemory as EventStore.
- eventmesh-connector-rocketmq : an implementation of eventmesh-connector-api, pub event to or sub event from RocketMQ as EventStore.
- eventmesh-connector-kafka(WIP) : an implementation of eventmesh-connector-api, pub event to or sub event from Kafka as EventStore.
- eventmesh-connector-redis(WIP) : an implementation of eventmesh-connector-api, pub event to or sub event from Redis as EventStore.
- eventmesh-connector-defibus(WIP) : an implementation of eventmesh-connector-api, pub event to or sub event from DeFiBus as EventStore
- eventmesh-admin : clients,topics,subscriptions and other management.
- eventmesh-registry-plugin : plugins for registry adapter.
- eventmesh-security-plugin : plugins for security adpater.
- eventmesh-protocol-plugin : plugins for protocol adapter.
Protocol:
The protocol of eventmesh is easier and more convenient, you can read more here
Event & Service
- Pub/Sub
- Request/Reply
- Event Streaming
- Event transaction
- At-least-once/at-most-once delivery guarantees
Store Connector
- RocketMQ
- InMemory
- Federated
- Kafka
- Redis
- Pulsar
- RabbitMQ
- DeFiBus
- Cold storage (S3, Minio, SQL, key/value, etc...)
Protocol
- TCP
- Http
- gRPC
- CloudEvents
- MQTT
- WebSocket
- AMQP
- AsyncAPI
SDK
- Java
- C
- Go
- Python
Deploy
- Sidecar
- Gateway
- Docker
Metrics
- OpenTelemetry
- Promethus exporter
Tracing
- OpenTelemetry
- Zipkin exporter
- Skywalking
Governance
- Client management
- Topic management
- Metadata registry
- Schema registry
- Dynamic config
Choreography
- Servelss workflow
- Event function,triggers and bindings
Security
- Auth
- ACL
Runtime
- WebAssembly runtime
Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.
You can start with the issues labeled with good first issue. GitHub Issues
EventMesh enriches the CNCF CLOUD NATIVE Landscape.
Apache License, Version 2.0 Copyright (C) Apache Software Foundation.
WeChat Assistant | WeChat public account | Slack |
---|---|---|
Join slack chat |
Mailing Lists:
Name | Description | Subscribe | Unsubscribe | Archive |
---|---|---|---|---|
Users | User support and questions mailing list | Subscribe | Unsubscribe | Mail Archives |
Development | Development related discussions | Subscribe | Unsubscribe | Mail Archives |
Commits | All commits to repositories | Subscribe | Unsubscribe | Mail Archives |