Git Product home page Git Product logo

eventmesh's Introduction

Apache EventMesh (incubating)

CI status CodeCov Language grade: Java Total alerts GitHub release License Slack Status

点我查看中文版

logo

What is EventMesh?

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.

architecture1

EventMesh Architecture:

architecture1

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

Feature

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

Quick Start

  1. Store quickstart
  2. Runtime quickstart or Runtime quickstart with docker.
  3. Java SDK examples.

Contributing

Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.

You can start with the issues labeled with good first issue. GitHub Issues

Landscape



  

EventMesh enriches the CNCF CLOUD NATIVE Landscape.

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation.

Community

WeChat Assistant WeChat public account Slack
wechat_qr wechat_official_qr 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

eventmesh's People

Contributors

qqeasonchen avatar xwm1992 avatar inanos avatar lrhkobe avatar ruanwenjun avatar wqliang avatar keranbingaa avatar vongosling avatar steveyurongsu avatar jinrongluo avatar tydhot avatar majorhe1 avatar walleliu1016 avatar jzhou59 avatar dependabot[bot] avatar jonyangx avatar duhenglucky avatar liangyuanpeng avatar yzhao244 avatar wangshaojie4039 avatar yiliuchen avatar liutaohua avatar shannonding avatar candimy avatar zhangxiaopengmm avatar ivanzhongyq avatar jaskey avatar xiaoyang-sde avatar dongzl avatar chenyi19851209 avatar

Stargazers

mroccyen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.