Code Monkey home page Code Monkey logo

incubator-eventmesh's Introduction

Apache EventMesh (incubating)

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

点我查看中文版

logo

What is EventMesh?

EventMesh(incubating) is a dynamic cloud-native eventing infrastruture 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 Ecosystem:

architecture1

EventMesh Architecture:

architecture1

EventMesh Cloud Native:

architecture2

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-admin : clients,topics,subscriptions and other management.
  • eventmesh-registry-plugin : plugins for registry.
  • eventmesh-security-plugin : plugins for security.

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

  • RocketMQ
  • InMemory
  • Kafka
  • Redis
  • Pulsar
  • RabbitMQ
  • DeFiBus
  • Cold storage (S3, Minio, SQL, key/value, etc...)

Protocol

  • TCP
  • Http
  • gRPC
  • CloudEvents
  • MQTT
  • 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

Quick Start

  1. Event-store (RocketMQ, ignore this step if use standalone).
  2. Runtime quickstart or Runtime quickstart with docker.
  3. Java 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 group:

wechat_qr

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

incubator-eventmesh's People

Contributors

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

Stargazers

 avatar

Watchers

 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.