-
Notifications
You must be signed in to change notification settings - Fork 642
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
Comments
@qqeasonchen , I like to involve into this feature , let me come up with analysis for further discussion. |
@msdhinesh-geek sure ok. |
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:
|
IMO, we should refer to all related issues, @jinrongluo would you like to help to make a proposal for this? |
Sure for supporting. Let me do some prototype and POC on the reactive-gRPC and then make a design proposal here. Thanks. |
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. |
@vongosling @jinrongluo @zmt-Eason glad to see your intrests and let's do it together. |
+1, using grpc can make the code clean. It's benefit to maintenance and easy to implement other language sdk. |
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 |
Due to code conflicts, I create a new PR - #594 |
* [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]>
* 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]>
Grpc Transport Protocol support
Grpc Transport Protocol support
* [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]>
* 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]>
* [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]>
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
The text was updated successfully, but these errors were encountered: