GithubHelp home page GithubHelp logo

kyooosukedn / eventmesh Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/eventmesh

0.0 0.0 0.0 60.19 MB

EventMesh is a new generation serverless event middleware for building distributed event-driven applications.

Home Page: https://eventmesh.apache.org/

License: Apache License 2.0

Shell 1.00% Java 77.71% Go 4.68% Rust 1.67% Makefile 0.32% Dockerfile 0.03% ANTLR 2.31% C 12.28%

eventmesh's Introduction

Apache EventMesh

Apache EventMesh is a new generation serverless event middleware for building distributed event-driven applications.

EventMesh Architecture

EventMesh Architecture

EventMesh Dashboard

EventMesh Dashboard

Features

Apache EventMesh has a vast amount of features to help users achieve their goals. Let us share with you some of the key features EventMesh has to offer:

  • Built around the CloudEvents specification.
  • Rapidty extendsible interconnector layer connectors using openConnect such as the source or sink of Saas, CloudService, and Database etc.
  • Rapidty extendsible storage layer such as Apache RocketMQ, Apache Kafka, Apache Pulsar, RabbitMQ, Redis.
  • Rapidty extendsible meta such as Consul, Nacos, ETCD and Zookeeper.
  • Guaranteed at-least-once delivery.
  • Deliver events between multiple EventMesh deployments.
  • Event schema management by catalog service.
  • Powerful event orchestration by Serverless workflow engine.
  • Powerful event filtering and transformation.
  • Rapid, seamless scalability.
  • Easy Function develop and framework integration.

Roadmap

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

Subprojects

Quick start

This section of the guide will show you the steps to deploy EventMesh from Local, Docker, K8s.

This section guides the launch of EventMesh according to the default configuration, if you need more detailed EventMesh deployment steps, please visit the EventMesh official document.

Deployment Event Store

EventMesh supports multiple Event Stores, the default storage mode is standalone, and does not rely on other event stores as layers.

Run EventMesh Runtime locally

1. Download EventMesh

Download the latest version of the Binary Distribution from the EventMesh Download page and extract it:

wget https://dlcdn.apache.org/eventmesh/1.10.0/apache-eventmesh-1.10.0-bin.tar.gz
tar -xvzf apache-eventmesh-1.10.0-bin.tar.gz
cd apache-eventmesh-1.10.0

2. Run EventMesh

Execute the start.sh script to start the EventMesh Runtime server.

bash bin/start.sh

View the output log:

tail -n 50 -f logs/eventmesh.out

When the log output shows server state:RUNNING, it means EventMesh Runtime has started successfully.

You can stop the run with the following command:

bash bin/stop.sh

When the script prints shutdown server ok!, it means EventMesh Runtime has stopped.

Run EventMesh Runtime in Docker

1. Pull EventMesh Image

Use the following command line to download the latest version of EventMesh:

sudo docker pull apache/eventmesh:latest

2. Run and Manage EventMesh Container

Use the following command to start the EventMesh container:

sudo docker run -d --name eventmesh -p 10000:10000 -p 10105:10105 -p 10205:10205 -p 10106:10106 -t apache/eventmesh:latest

Enter the container:

sudo docker exec -it eventmesh /bin/bash

view the log:

cd logs
tail -n 50 -f eventmesh.out

Run EventMesh Runtime in Kubernetes

1. Deploy operator

Run the following commands(To delete a deployment, simply replace deploy with undeploy):

$ cd eventmesh-operator && make deploy

Run kubectl get pods ใ€kubectl get crd | grep eventmesh-operator.eventmeshto see the status of the deployed eventmesh-operator.

$ kubectl get pods
NAME                                  READY   STATUS    RESTARTS   AGE
eventmesh-operator-59c59f4f7b-nmmlm   1/1     Running   0          20s

$ kubectl get crd | grep eventmesh-operator.eventmesh
connectors.eventmesh-operator.eventmesh   2024-01-10T02:40:27Z
runtimes.eventmesh-operator.eventmesh     2024-01-10T02:40:27Z

2. Deploy EventMesh Runtime

Execute the following command to deploy runtime, connector-rocketmq (To delete, simply replace create with delete):

$ make create

Run kubectl get pods to see if the deployment was successful.

NAME                                  READY   STATUS    RESTARTS   AGE
connector-rocketmq-0                  1/1     Running   0          9s
eventmesh-operator-59c59f4f7b-nmmlm   1/1     Running   0          3m12s
eventmesh-runtime-0-a-0               1/1     Running   0          15s

Contributing

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

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

CNCF Landscape

Apache EventMesh enriches the CNCF Cloud Native Landscape.

License

Apache EventMesh is licensed under the Apache License, Version 2.0.

Community

WeChat Assistant WeChat Public Account Slack
Join Slack Chat(Please open an issue if this link is expired)

Bi-weekly meeting : #Tencent meeting : 346-6926-0133

Bi-weekly meeting record : bilibili

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
Issues Issues or PRs comments and reviews Subscribe Unsubscribe Mail Archives

eventmesh's People

Contributors

xwm1992 avatar qqeasonchen avatar jonyangx avatar mxsm avatar walleliu1016 avatar weihubeats avatar horoc avatar lrhkobe avatar mytang0 avatar inanos avatar walterlife avatar ruanwenjun avatar majorhe1 avatar mroccyen avatar wqliang avatar alonexc avatar pandaapo avatar yuyuyu333333 avatar liu-wei-git avatar pil0txia avatar markliniubility avatar harshithasudhakar avatar hattorihenzo avatar fabian4 avatar yanrongzhen avatar keranbingaa avatar xiaoyang-sde avatar jellybo avatar piyush280599 avatar jinrongluo 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.