Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A lightable full-featured polyglot capability support #417

Closed
qqeasonchen opened this issue Jul 5, 2021 · 10 comments
Closed

A lightable full-featured polyglot capability support #417

qqeasonchen opened this issue Jul 5, 2021 · 10 comments
Labels
discussion This issue requires further discussion feature
Milestone

Comments

@qqeasonchen
Copy link
Contributor

qqeasonchen commented Jul 5, 2021

gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can automatically generate idiomatic client and server stubs for your service in a variety of languages and platforms,which can help eventmesh to supports as many client languages as gRPC do (Java, Go, C++, Python, etc...).
here is the link :
https://github.com/grpc/grpc-java/tree/master/netty

Reactive gRPC is a suite of libraries for using gRPC with Reactive Streams programming libraries. Using a protocol buffers compiler plugin, Reactive gRPC generates alternative gRPC bindings for each reactive technology. The reactive bindings support unary and streaming operations in both directions. Reactive gRPC also builds on top of gRPC's back-pressure support, to deliver end-to-end back-pressure-based flow control in line with Reactive Streams back-pressure model.

Reactive gRPC supports the following reactive programming models:

RxJava 2
Spring Reactor

here is the link : https://github.com/salesforce/reactive-grpc

@qqeasonchen qqeasonchen added discussion This issue requires further discussion feature help wanted Extra attention is needed labels Jul 5, 2021
@msdhinesh-geek
Copy link
Contributor

msdhinesh-geek commented Jul 5, 2021

@qqeasonchen , I like to involve into this feature , let me come up with analysis for further discussion.

@qqeasonchen
Copy link
Contributor Author

@msdhinesh-geek sure ok.

@qqeasonchen qqeasonchen removed the help wanted Extra attention is needed label Jul 6, 2021
@qqeasonchen qqeasonchen changed the title Integrate with reactive-grpc Integrate with grpc/reactive-grpc Jul 6, 2021
@vongosling vongosling modified the milestones: 1.3.0, 1.4.0 Oct 9, 2021
@jinrongluo
Copy link
Contributor

I am very interested in this topic about Integrating grpc/reactive-grpc as transport framework in EventMesh Runtime. I would like to contribute as well.

I am studying the following materials

One thing I would like to bring up when doing this integration: EventMesh runtime is already having two kinds of transport framework: HTTP and TCP. They are both implemented using Java Netty. gRPC is NOT compatible with Java Netty. This means the following design choices needs to consider:

Option 1. Introduce gRPC as a third transport framework. Keep existing HTTP and TCP Netty code in Runtime side and SDK side

Option 2. Replace exiting TCP with gRPC. This means a MAJOR code refactor in Runtime and SDK modules. Existing Netty Server and client code will be removed and replaced with gRPC related codes.

Option 3. Replace BOTH existing HTTP and TCP Netty framework with gRPC. This means a MAJOR code refactor in Runtime and SDK modules. Existing Netty Server and client code will be removed and replaced with gRPC related codes.

In my opinion, Option 3 provide more benefits over Option 1:

  • gRPC offers streaming and async APIs which can effectively satisfies the needs of existing Eventmesh TCP and HTTP Pub/Sub APIs. This claim needs to be verified by Prototyping and Proof Of Concept
  • gRPC offers multiple languages SDK generator, which can benefit Eventmesh community for having multi-language SDKs
  • Having single gRPC transport has much less code maintenance overhead in the long run. Option 1 and Option 2 still maintenance multiple transport codes, and It can be confusing to end user for not knowing which to choose, HTTP or TCP or gRPC? To end user, as long as they can perform Pub/Sub, the transport protocol does not matter.

@vongosling vongosling changed the title Integrate with grpc/reactive-grpc A new full-featured lightable language independency sdks Oct 29, 2021
@vongosling
Copy link
Member

#564
#532
#486
#563

IMO, we should refer to all related issues, @jinrongluo would you like to help to make a proposal for this?

This was referenced Oct 29, 2021
@vongosling vongosling changed the title A new full-featured lightable language independency sdks A lightable full-featured polyglot capability support Oct 29, 2021
@jinrongluo
Copy link
Contributor

Sure for supporting. Let me do some prototype and POC on the reactive-gRPC and then make a design proposal here. Thanks.

@zmt-Eason
Copy link
Contributor

I am studying gRPC recently and I agreed to the opinion of @jinrongluo. Using gRPC instead of TCP and HTTP can not only satisfies the needs of existing Eventmesh TCP and HTTP Pub/Sub APIs but also benefit Eventmesh community for having multi-language SDKs due to its multiple mature languages SDK generator, which are all we need.

@qqeasonchen
Copy link
Contributor Author

@vongosling @jinrongluo @zmt-Eason glad to see your intrests and let's do it together.

@ruanwenjun
Copy link
Member

I am very interested in this topic about Integrating grpc/reactive-grpc as transport framework in EventMesh Runtime. I would like to contribute as well.

I am studying the following materials

One thing I would like to bring up when doing this integration: EventMesh runtime is already having two kinds of transport framework: HTTP and TCP. They are both implemented using Java Netty. gRPC is NOT compatible with Java Netty. This means the following design choices needs to consider:

Option 1. Introduce gRPC as a third transport framework. Keep existing HTTP and TCP Netty code in Runtime side and SDK side

Option 2. Replace exiting TCP with gRPC. This means a MAJOR code refactor in Runtime and SDK modules. Existing Netty Server and client code will be removed and replaced with gRPC related codes.

Option 3. Replace BOTH existing HTTP and TCP Netty framework with gRPC. This means a MAJOR code refactor in Runtime and SDK modules. Existing Netty Server and client code will be removed and replaced with gRPC related codes.

In my opinion, Option 3 provide more benefits over Option 1:

  • gRPC offers streaming and async APIs which can effectively satisfies the needs of existing Eventmesh TCP and HTTP Pub/Sub APIs. This claim needs to be verified by Prototyping and Proof Of Concept
  • gRPC offers multiple languages SDK generator, which can benefit Eventmesh community for having multi-language SDKs
  • Having single gRPC transport has much less code maintenance overhead in the long run. Option 1 and Option 2 still maintenance multiple transport codes, and It can be confusing to end user for not knowing which to choose, HTTP or TCP or gRPC? To end user, as long as they can perform Pub/Sub, the transport protocol does not matter.

+1, using grpc can make the code clean. It's benefit to maintenance and easy to implement other language sdk.

@jinrongluo
Copy link
Contributor

Hi @qqeasonchen @ruanwenjun

Thanks for your support. I am adding a gRPC design doc and protobuf data model. and generated java codes. Please review the following PR. Let me know if you have any comments.

PR - #593

Next step, I will write the code to support gRPC in Java-SDK and eventmesh-runtime

@jinrongluo
Copy link
Contributor

Due to code conflicts, I create a new PR - #594

jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Nov 18, 2021
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Nov 18, 2021
qqeasonchen pushed a commit that referenced this issue Nov 22, 2021
* [Issue #337] Fix HttpSubscriber startup issue

* [Issue #337] test commit

* [Issue #337] revert test commit

* [Issue #337] Enhance Http Demo Subscriber by using ExecutorService, CountDownLatch and PreDestroy hook

* [Issue #337] Enhance Http Demo Subscriber by using ExecutorService, CountDownLatch and PreDestroy hook

* [Issue #337] Address code review comment for Subscriber Demo App

* adding license headers

* adding grpc build file

* [Issue#417] update settings.gradle

* [Issue#417] fix grpc generated code styles

* [Issue#417] fix grpc generated code styles

* [Issue#417] fix grpc generated code styles

* [Issue#417] fix grpc generated code styles and license issue

* [Issue#417] fix license issue

* [Issue #417] ignore checkstyle for generated files

* [Issue #417] adding allow licensed for grpc protobuf

Co-authored-by: j00441484 <[email protected]>
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Dec 10, 2021
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Dec 14, 2021
xwm1992 added a commit that referenced this issue Dec 24, 2021
* readme.md

* [ISSUE #563] SDK SUPPORT CLOUD EVENT (#575)

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

Co-authored-by: wangshaojie <[email protected]>

* [Feature #562] support cloudevents api in eventmesh-connector-api module (#578)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* connector support cloud event (#586)

Co-authored-by: wangshaojie <[email protected]>

* [Feature #562] Support CloudEvents for pub/sub in EventMesh runtime (#587)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* support cloudEvents

* support cloudEvents

* support cloudEvents

* support cloudevents

* support cloudEvents

* support cloudEvents

* support cloudEvents

* [Feature #562] Implement CloudEvents protocol adaptor (#595)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

Co-authored-by: Eason Chen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: Nicholas Zhan <[email protected]>
Co-authored-by: hagsyn <[email protected]>

* [Feature #562] Implement EventMeshMessage protocol adaptor (#597)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

* [Feature #562] Implement EventMeshMessage protocol adaptor

* supplement apache header

Co-authored-by: Eason Chen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: Nicholas Zhan <[email protected]>
Co-authored-by: hagsyn <[email protected]>

* Remove some unused code (#591)

* Remove some unused code in sdk module

* Remove some unused code in sdk module

* fixed a wrong url in cn-doc (#585)

close #596

* resolve_exception->Consumer subscription topic is invalid #590 (#598)

close #590

* update Eventmeshmessage plugin (#599)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

* [Feature #562] Implement EventMeshMessage protocol adaptor

* supplement apache header

* 1.update package name
2.support build.gradle and gradle.properties
3.support ProtocolTransportObject

Co-authored-by: Eason Chen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: Nicholas Zhan <[email protected]>
Co-authored-by: hagsyn <[email protected]>

* Update eventmesh-store-quickstart.md

* Update README.md

* Add slack icon (#601)

* Add protocol producer in java sdk (#600)

* Add protocol producer in sdk

* Refactor callback handler

* Add tcp protocol client

* Change Tcp interface (#603)

* update http push request and adaptor (#606)

1.update http push request
2.update http in protocol adaptor

* update java sdk (#607)

* Fix standalone connector interface, fix example (#608)

* fix compile error (#609)

* update java sdk

* fix compile error

* Java sdk update (#610)

* update java sdk

* fix compile error

* fix sdk error

* Add EventMeshTCPClient, this client wrap the sub/sub client (#611)

* runtime update (#612)

* update java sdk

* fix compile error

* fix sdk error

* 1.remove the openmessage from connector-api
2.fix the standalone connector

* Java sdk update (#615)

* update java sdk

* fix compile error

* fix sdk error

1.remove the openmessage from connector-api
2.fix the standalone connector

* 1.fix the standalone connector
2.fix the sdk

* eventmesh-admin-rocketmq submodule and createTopic REST API (#530)

* eventmesh-admin-rocketmq submodule and createTopic draft API

* add license header

* change to /topicmanage

* fix build error

* fix some code check style issues

close #435 #346

* Fix some small issue (#616)

* eventmeshmessage protocol adaptor for tcp (#618)

1.fix the standalone connector
2.fix eventmeshmessage protocol adaptor for tcp

* remove openschema implementation from em project

* eventmesh message protocol for http pub/sub with standalone connector (#619)

1.fix eventmeshmessage protocol adaptor for http with standalone connector

* create topic command (#531)

* create topic command

* address review comments

* fix build and add createtopic method to standalone module

* fix build issue

* fix a few remaining code check issues

* fix test

close #346

* Java sdk update cloudevents pub/sub (#620)

1.cloudevents protocol tcp pub/sub for sdk

* Update README.md

* Change TCP Decoder and Encoder (#621)

* cloudevents protocol tcp pub/sub for sdk (#622)

1.cloudevents protocol tcp pub/sub for sdk

* cloudevents protocol tcp pub/sub for sdk (#623)

cloudevents protocol tcp pub/sub for sdk

* cloudevents protocol http pub/sub for sdk (#625)

cloudevents protocol http pub/sub for sdk

* cloudevents protocol pub/sub for http sdk (#627)

 fix cloudevents protocol pub/sub for http sdk

* Add AbstractEventMeshTCPSubHandler (#624)

* Add AbstractEventMeshTCPSubHandler

* cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector (#628)

* fix cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector

* cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector (#629)

* fix cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector

* Safely delete useless log4j dependencies

* Safely delete outdated metrics dependencies

* Sately delete useless collections4 dependency

* Safely delete useless commons dependencies

* Reback to the collections4, but let it not in api dependency

* Could not remove text for Safe Ramdom implementation

* Fix build error

* Add collection4

* Fix build error

* Revert "Safely delete outdated metrics dependencies"

This reverts commit 92287b0.

* Change to api dependency

* Remove doclint warnings

* Depracated checkstyle check error temporarily, we should remove it when we polish later

* sync request/response for sdk in rocketmq-connector (#634)

fix sync request/response for sdk in rocketmq-connector

* Update .asf.yaml

* Update .asf.yaml

* fix conflicts and update the code (#635)

* Add files via upload

* Update README.md

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* fixed a wrong url in cn-doc (#585)

close #596

* resolve_exception->Consumer subscription topic is invalid #590 (#598)

close #590

* Update eventmesh-store-quickstart.md

* Update README.md

* Add slack icon (#601)

* eventmesh-admin-rocketmq submodule and createTopic REST API (#530)

* eventmesh-admin-rocketmq submodule and createTopic draft API

* add license header

* change to /topicmanage

* fix build error

* fix some code check style issues

close #435 #346

* create topic command (#531)

* create topic command

* address review comments

* fix build and add createtopic method to standalone module

* fix build issue

* fix a few remaining code check issues

* fix test

close #346

* Update README.md

* Safely delete useless log4j dependencies

* Safely delete outdated metrics dependencies

* Sately delete useless collections4 dependency

* Safely delete useless commons dependencies

* Reback to the collections4, but let it not in api dependency

* Could not remove text for Safe Ramdom implementation

* Fix build error

* Add collection4

* Fix build error

* Revert "Safely delete outdated metrics dependencies"

This reverts commit 92287b0.

* Change to api dependency

* Remove doclint warnings

* Depracated checkstyle check error temporarily, we should remove it when we polish later

* Update .asf.yaml

* Update .asf.yaml

Co-authored-by: Eason Chen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: Nicholas Zhan <[email protected]>
Co-authored-by: hagsyn <[email protected]>
Co-authored-by: sarihuangshanrong <[email protected]>
Co-authored-by: yuri <[email protected]>
Co-authored-by: vongosling <[email protected]>

* supply apache header

* Remove license name, add LICENSE file

* resolve conflict

* remove some not used in binary license

* set connector plugin to standalone

* Add license check shell

* Add jdk11 and otherOS in github ci

* Add comments

* resolve javadoc failed on jdk11

* Change skywalking uses repo to main

* GRPC producer publish API

* remove unused files

* remove unused plugin

* [ISSUE #630] RocketMQProducerImpl cannot load config properties from classpath (#631)

* Fix RocketMqConsumer cannot load properties in classpath
close #630

* [Bug #646] Missing the rocketmq message properties during protocol conversion (#647)

* [Bug #646] Missing the rocketmq message properties during protocol conversion

* fix checkstyle and gradle module dependency

* fix conflicts

close #646

* grpc publish with cloudevents

* [MINOR] Hide ctx in callback function and update contributing doc (#644)

1. Hide ctx in callback function
2. Resolve compile warning of loss spi
3. Update contributing doc
4.Remove codeql

* [ISSUE #405] remove some unused code (#649)

* [ISSUE #405] remove some unused code

* [Issue #417] grpc publish API

* [MINOR] Add third-part dependencies licenses (#650)

* [MINOR] supply the license and update the third party license file name (#653)

 [MINOR] supply the license and update the third party license file name

* [ISSUE #340]Add http trace http point (#527)

* tracing in AbstractHTTPServer

* add licence

* the span exporter

* design docs

* fix the error on text

* delete the useless dependence

* remove the unused code

* fix the different spanExporter

* change the class name

* fix gradle -build problem

* design docs improve

* fix the gradle.build error problem

* fixed

* unsure fix

* fix the path name

* fix check error

* format code

* add javadoc

* checkstyle fix

* unversioned files

* put context into channel in advance

* Update quick start docs (#656)

* [MINOR] Upgrade log4j version to 2.16.0 (#654)

* Update log4j version

* [MINOR] update the license and add the third party license files (#657)

* [MINOR] update the license and add the third party license files

* [ISSUE #604]Improve the rebalance algorithm (#605)

* modify:optimize flow control in downstreaming msg

* modify:optimize stategy of selecting session in downstream msg

* modify:optimize msg downstream,msg store in session

* modify:fix bug:not a @sharable handler

* modify:downstream broadcast msg asynchronously

* modify:remove unneccessary interface in eventmesh-connector-api

* modify:fix conflict

* modify:add license in EventMeshAction

* modify:fix ack problem

* modify:fix exception handle when exception occured in EventMeshTcpMessageDispatcher

* modify:fix log print

* modify: fix issue#496,ClassCastException

* modify: improve rebalance algorithm

close #604

* [Feature #547] Create and upload 1.3.0-snapshot docker image (#659)

* [Feature #547] Create and upload 1.3.0-snapshot docker image

* grpc consumer work

* [MINOR] Add third-part dependencies licenses (#650)

* [MINOR] supply the license and update the third party license file name (#653)

 [MINOR] supply the license and update the third party license file name

* [ISSUE #340]Add http trace http point (#527)

* tracing in AbstractHTTPServer

* add licence

* the span exporter

* design docs

* fix the error on text

* delete the useless dependence

* remove the unused code

* fix the different spanExporter

* change the class name

* fix gradle -build problem

* design docs improve

* fix the gradle.build error problem

* fixed

* unsure fix

* fix the path name

* fix check error

* format code

* add javadoc

* checkstyle fix

* unversioned files

* put context into channel in advance

* Update quick start docs (#656)

* [MINOR] Upgrade log4j version to 2.16.0 (#654)

* Update log4j version

* [MINOR] update the license and add the third party license files (#657)

* [MINOR] update the license and add the third party license files

* [ISSUE #604]Improve the rebalance algorithm (#605)

* modify:optimize flow control in downstreaming msg

* modify:optimize stategy of selecting session in downstream msg

* modify:optimize msg downstream,msg store in session

* modify:fix bug:not a @sharable handler

* modify:downstream broadcast msg asynchronously

* modify:remove unneccessary interface in eventmesh-connector-api

* modify:fix conflict

* modify:add license in EventMeshAction

* modify:fix ack problem

* modify:fix exception handle when exception occured in EventMeshTcpMessageDispatcher

* modify:fix log print

* modify: fix issue#496,ClassCastException

* modify: improve rebalance algorithm

close #604

* [Feature #547] Create and upload 1.3.0-snapshot docker image (#659)

* [Feature #547] Create and upload 1.3.0-snapshot docker image

* merge from develop

* GRPC producer publish API

* grpc publish with cloudevents

* Adding grpc publish and subscribe API examples

* grpc consumer api testing and bug fixing

* minor enhancement to grpc consumer

Co-authored-by: xwm1992 <[email protected]>
Co-authored-by: wangshaojie4039 <[email protected]>
Co-authored-by: wangshaojie <[email protected]>
Co-authored-by: Eason Chen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: Nicholas Zhan <[email protected]>
Co-authored-by: hagsyn <[email protected]>
Co-authored-by: sarihuangshanrong <[email protected]>
Co-authored-by: yuri <[email protected]>
Co-authored-by: vongosling <[email protected]>
Co-authored-by: ZePeng Chen <[email protected]>
Co-authored-by: lrhkobe <[email protected]>
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 11, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 11, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 11, 2022
xwm1992 pushed a commit that referenced this issue Jan 12, 2022
Grpc Transport Protocol support
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 12, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 12, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 18, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Jan 18, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Feb 3, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
xwm1992 pushed a commit to xwm1992/EventMesh that referenced this issue Feb 16, 2022
jinrongluo added a commit to jinrongluo/incubator-eventmesh that referenced this issue Feb 17, 2022
xwm1992 added a commit that referenced this issue Feb 21, 2022
* [Issue #417] Grpc Transport Protocol support (#710)

Grpc Transport Protocol support

* [Issue #417] Create getting started instructions for Grpc transport procotol

* [Issue #417] update Grpc Message Model name to SimpleMessage

* [Issue #417] more update Grpc Message Model name to SimpleMessage

* [Issue #718] Fix readme file and protobuf file based on review comments

* [Issue #745] fix the ack bugs and cloudevent message resolver

* [Issue #744] update SDK API message model

* [Issue #744] fix the gRPC Consumer SubscribeStream Message handler

* [Issue #744] Grpc Request-Reply API support

* [Issue #744] Bug fix for Grpc Request-Reply API support

* [Issue #744] minor fix for Grpc request-Reply API

* [Issue #744] fix infinte message loop in Grpc CloudEvent request-Reply API

* [Issue #744] Fix Grpc subscribe-unsubscribe bug

* [Issue #744] Fix Data models in Grpc Request-Reply API

* [Issue #744] Code optimization for Grpc Request-Reply API

* [Issue #417] support Grpc broadcast async publish

* [Issue #718] add synchronized calls for grpc streamObserver

* supply apache header

* add checkstyle ignore for grpc

* fix checkstyle error

* fix javax.annotation.generated compile error

* fix javax.annotation.generated compile error

* supply dependencies licenses

* update known-dependencies.txt

* update known-dependencies.txt

Co-authored-by: jinrongluo <[email protected]>
@xwm1992 xwm1992 closed this as completed Mar 14, 2022
Repository owner moved this from In Progress to Done in Apache EventMesh (Incubating) Roadmap Mar 14, 2022
xwm1992 added a commit that referenced this issue Apr 7, 2022
* update project version to 1.3.0-RELEASE

* Delete gradle/wrapper directory

* update docs

* update Dockerfile and build.gradle

* update build.gradle

* update Dockerfile path

* Update .asf.yaml

disabled protected branch

(cherry picked from commit 4b60e37)

* Update .asf.yaml

(cherry picked from commit a051d06)

* [Infra] trigger branch protection change

(cherry picked from commit d9a9a5b)

* [Infra] retrigger .asf.yaml protections

(cherry picked from commit 8e5a196)

* update some docs

Signed-off-by: qqeasonchen <[email protected]>
(cherry picked from commit faf1fc1)

* update Dockerfile path

(cherry picked from commit 2790b78)

* Update java sdk docs (#663)


(cherry picked from commit 56b665b)

* Add files via upload

add pluggable-protocols.png

(cherry picked from commit ce62aa0)

* [Infra] retrigger .asf.yaml protections

(cherry picked from commit 8e5a196)

* Update .asf.yaml

make the master branch under the protected

* [ISSUE #670] fix checkstyle check fail (#680)

fix checkstyle check fail

* [MINOR] Fixed redundant boxing operations (#684)

* [MINOR] new Runnable() can be replaced with lambda (#685)

* gradle

* Anonymous new Runnable() can be replaced with lambda

* Anonymous new Runnable() can be replaced with lambda

* add logger print exception

* [MINOR] ConfigurationWrapper class adds thread pool shutdown (#683)

* gradle

* ConfigurationWrapper class adds thread pool shutdown

* [ISSUE #677] Translate readme files from English to Chinese (#678)

* translate English to Chinese
close #677

* [ISSUE #405]update cloudevents examples (#688)

[Minor #405] update cloudevents examples

* Bump gradle version to 7.3.3 Support Java17 build

* [ISSUE #690]Remove extra code style check job in CI (#691)

Close ISSUE #690.

* Update intro.md (#693)

* Add files via upload (#694)

* [ISSUE #692]Change the default merge strategy to squash (#695)

* Change the default merge strategy to squash
close #692

* [ISSUE #673] update eventmesh-runtime-quickstart-with-docker.md en & cn (#698)

* update eventmesh-runtime-quickstart-with-docker.md en & cn
close #673

* [MINOR] Change Tar and Zip name (#699)

* [Issue #702] Fix Slack Join link (#705)

close #702

* Updated Notice file to 2022 (#704)

* add instruction docs of trace and metrics in eventmesh (#706)

* [ISSUE #405]Fix args typo in examples (#707)

fixed #405

* [ISSUE #696] Add metrics plugin (#709)

1. Add Metrics plugin module
2. Implement opentelemetry metrics module
related issue #696

* [ISSUE #713] Fix trace bug (#712)

* add docs

* change default spanExporter to span

* [Issue #533] Adding design doc for EventMesh Workflow

* [Issue #553] Adding design doc for EventMesh Workflow (#714)

* [Issue #553] update the design doc.

* small updates to doc

Signed-off-by: Tihomir Surdilovic <[email protected]>

* small update

Signed-off-by: Tihomir Surdilovic <[email protected]>

* adding asyncapi type to event defs

Signed-off-by: Tihomir Surdilovic <[email protected]>

* Remove unnecessary call toString (#719)

* [Issue #553] add workflow diagram to the design doc

* Update intro.md (#722)

* Update roadmap.md (#721)

* Missed exception cause (#724)

close #727

* [ISSUE #726] Remove the misleading annotation (#725)

close #726

* [ISSUE #729] Bump netty version (#730)

* Bump netty version
close #729

* [ISSUE #732] Binary package failed to execute (#733)

close #732

* [Issue #735] log4j 2.17.1 (#736)

* log4j 2.17.1

* Update known-dependencies.txt

* Update LICENSE

* fix item mislabeled as MIT when they are ASL

* fix log4j urls https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/license.html

* [MINOR] Remove the unnecessary boxing (#731)

* Use archiveBaseName and archiveVersion to optimize gradle zip task (#728)

* Add environment and version selector in bug_report.yml (#734)

* Fix bug report template (#741)

* add eventmesh-admin-rocketmq into rootProject

* [ISSUE #737] Add Netty license (#738)

close #737

* [Issue #750] junit should only be used in tests (#751)

* junit should only be used in tests

add back assertj

revert assertj changes

build issues

centralise junit dependency

Update build.gradle

* junit 4.12 has a CVE

close #750

* [Issue #752] upgrade httpclient (#753)

* upgrade httpclient

* commons-codec transitive dependency upgrade

close #752

* [Issue-754] upgrade guava (#757)

* upgrade guava

* [Issue #758] validate subscriber Url (#759)

* [Issue #758] validate subscriber Url

* [Issue #758] fix build issue

* [Issue #758] fix checkstyle issue

* [Issue #758] fix license check issue
close #758

* [Issue #655] Adding send message constraints for message size and batch size (#760)

* [Issue #655] Adding send message constraints for message size and batch size

* [MINOR] Fix plugin cannot load properties from classpath (#763)

* [MINOR] Fix plugin cannot load properties from classpath

* Fix callback warning

* [MINOR] Remove unused field in example (#766)

* [MINOR] Allow run script in other directory (#765)

* [MINOR] Fix the hardcode ip address (#767)

* [Issue #768] fix issue in update HTTP subscriber (#769)

* [Issue #768] fix issue in update HTTP subscriber

* [Issue #769] use Serialization to deep clone object and adding equals method to SubscriptionItem

* [Issue #768] fix build checkstyle issue

close #768

* update checkstyle.xml (#773)

add suppresswarnings filter

* Rebase the grpc branch to master branch (#771)

* [Issue #417] Grpc Transport Protocol support (#710)

Grpc Transport Protocol support

* [Issue #417] Create getting started instructions for Grpc transport procotol

* [Issue #417] update Grpc Message Model name to SimpleMessage

* [Issue #417] more update Grpc Message Model name to SimpleMessage

* [Issue #718] Fix readme file and protobuf file based on review comments

* [Issue #745] fix the ack bugs and cloudevent message resolver

* [Issue #744] update SDK API message model

* [Issue #744] fix the gRPC Consumer SubscribeStream Message handler

* [Issue #744] Grpc Request-Reply API support

* [Issue #744] Bug fix for Grpc Request-Reply API support

* [Issue #744] minor fix for Grpc request-Reply API

* [Issue #744] fix infinte message loop in Grpc CloudEvent request-Reply API

* [Issue #744] Fix Grpc subscribe-unsubscribe bug

* [Issue #744] Fix Data models in Grpc Request-Reply API

* [Issue #744] Code optimization for Grpc Request-Reply API

* [Issue #417] support Grpc broadcast async publish

* [Issue #718] add synchronized calls for grpc streamObserver

* supply apache header

* add checkstyle ignore for grpc

* fix checkstyle error

* fix javax.annotation.generated compile error

* fix javax.annotation.generated compile error

* supply dependencies licenses

* update known-dependencies.txt

* update known-dependencies.txt

Co-authored-by: jinrongluo <[email protected]>

* [Issue #774] Optimize the object property description of eventmesh client (#775)

* modify: add group field in UserAgent, delete ProducerGroup and ConsumerGroup field

* modify: fix checksyle error

* modify: fix checksyle error in ClientGroupWrapper.java

close #774

* Update roadmap.md (#779)

* [Issue #780] Modify the define level  of EventListener from Topic to Consumer (#781)

* modify: add group field in UserAgent, delete ProducerGroup and ConsumerGroup field

* modify: fix checksyle error

* modify: fix checksyle error in ClientGroupWrapper.java

* modify: move EventListner in the level of Consumer instead of binding with topic in EventMesh

* modify: fix the eventListener level problem in grpc protocal

* modify: fix the eventListener problem in test case

close #780

* [ISSUE #786] remove eventmesh-sdk-java model redundant code (#789)

Co-authored-by: lucky-lsr <[email protected]>
close #786

* Update roadmap.md (#791)

* [ISSUE #783] clean useless code in runtime module (#787)

* [ISSUE #783] clean useless code in runtime module

* format code

close #783

* [ISSUE #696] Add trace plugin (#749)

* add docs

* add trace plugin

* fix ConfigurationWrapperTest error

* fix checkstyle

* fix checkstyle

* [ISSUE #784] Fix words misspell, optimize admin http method code (#792)

close #784

* [Issue #658] Eventmesh Http Support CloudEvents Webhook spec (#772)

* [Issue #658] support CloudEvents Webhook spec

* [Issue #658] create auth-http-basic security module

* [Issue #658] create auth-http-basic security module

* [Issue #658] code refactor for CloudEvents Webhook

* [Issue #658] fix build checkstyles

* [Issue #658] fix javadoc build issue

* [Issue #658] fix javadoc build issue in eventmesh-security-auth-http-basic

* [Issue #658] adding more log to the WebhookUtil

* [Issue #658] address PR review comments.

* [Issue #658] fixed checkstyles issue

Co-authored-by: mike_xwm <[email protected]>

* [ISSUE #782] delete invalid code in eventmesh-connector-plugin module (#793)

* [ISSUE #795] Fix doc eventmesh-runtime-quickstart-with-docker.md (#798)

close #795

* [Enhancement] Some suggestions for eventmesh-examples (#794)

* remove invalid code

* read config from file

* extract constants

* format code

close #794

* [Enhancement] compile project with junit error (#802)

Co-authored-by: ylong <[email protected]>
close #796

* [Enhancement] Run CI on all branch (#805)

* [MINOR] sort dependencise before check (#808)

* [ISSUE #806] code optimization and delete invalid code in eventmesh-e… (#807)

* [ISSUE #806] code optimization and delete invalid code in eventmesh-examples module

* use ExampleConstants to hold constants in examples
* delete invalid code

* [ISSUE #806] code optimization and delete invalid code in eventmesh-examples module

Motivation
Code style consistency in log msg

Co-authored-by: fengyongshe <[email protected]>

close #806

Co-authored-by: xwm1992 <[email protected]>
Co-authored-by: Daniel Gruno <[email protected]>
Co-authored-by: qqeasonchen <[email protected]>
Co-authored-by: Wenjun Ruan <[email protected]>
Co-authored-by: yangjun <[email protected]>
Co-authored-by: 李晓双 Li Xiao Shuang <[email protected]>
Co-authored-by: Shoothzj <[email protected]>
Co-authored-by: Junjie Zhou <[email protected]>
Co-authored-by: ZePeng Chen <[email protected]>
Co-authored-by: jinrongluo <[email protected]>
Co-authored-by: Tihomir Surdilovic <[email protected]>
Co-authored-by: PJ Fanning <[email protected]>
Co-authored-by: wqliang <[email protected]>
Co-authored-by: lrhkobe <[email protected]>
Co-authored-by: lucky-lsr <[email protected]>
Co-authored-by: sarihuangshanrong <[email protected]>
Co-authored-by: TownChen <[email protected]>
Co-authored-by: AhahaGe <[email protected]>
Co-authored-by: SpiritZhang <[email protected]>
Co-authored-by: like <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: fengyongshe <[email protected]>
xwm1992 added a commit that referenced this issue Aug 4, 2022
* [Issue #417] Grpc Transport Protocol support (#710)

Grpc Transport Protocol support

* [Issue #417] Create getting started instructions for Grpc transport procotol

* [Issue #417] update Grpc Message Model name to SimpleMessage

* [Issue #417] more update Grpc Message Model name to SimpleMessage

* [Issue #718] Fix readme file and protobuf file based on review comments

* [Issue #745] fix the ack bugs and cloudevent message resolver

* [Issue #744] update SDK API message model

* [Issue #744] fix the gRPC Consumer SubscribeStream Message handler

* [Issue #744] Grpc Request-Reply API support

* [Issue #744] Bug fix for Grpc Request-Reply API support

* [Issue #744] minor fix for Grpc request-Reply API

* [Issue #744] fix infinte message loop in Grpc CloudEvent request-Reply API

* [Issue #744] Fix Grpc subscribe-unsubscribe bug

* [Issue #744] Fix Data models in Grpc Request-Reply API

* [Issue #744] Code optimization for Grpc Request-Reply API

* [Issue #417] support Grpc broadcast async publish

* [Issue #718] add synchronized calls for grpc streamObserver

* supply apache header

* add checkstyle ignore for grpc

* fix checkstyle error

* fix javax.annotation.generated compile error

* fix javax.annotation.generated compile error

* supply dependencies licenses

* update known-dependencies.txt

* update known-dependencies.txt

Co-authored-by: jinrongluo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion This issue requires further discussion feature
Projects
Development

No branches or pull requests

7 participants