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

Allow function to be broadcasted to all or randomly #321

Closed
wants to merge 1 commit into from

Conversation

Nordes
Copy link

@Nordes Nordes commented Apr 21, 2022

Probably would require to be more polished, but the idea here would be to have multiple listener on one function. I didn't test the scenario of multiple zipper or mesh network, but only a simple source + zipper + multi-sfn.

This is only a proposal draft, so don't hesitate to comment. Note that I am fully aware that I will have to remove some comments and improve some part of the code.


This change is Reviewable

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Nordes M.-Lamarre seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@venjiang
Copy link
Contributor

Thank you for the PR. Let me think about this.🤔

@fanweixiao
Copy link
Member

Hi @Nordes , thanks for the PR. I break this to different parts:

📕 Say we have two Stream Functions deals with same data, in YoMo, can be implemented like this:

  1. Create sfn-1 which observe data with tag is 0x33
  2. Create sfn-2 which did the same as sfn-1

Zipper will route data with tag is 0x33 to sfn-1 and sfn-2 at the same time, so developer can separate their logic to different services and deploy to anywhere they want. This is already supported right now.

📕 Multiple Stream Functions with same name

I think we should get rid of this behavior for unexpected results. @venjiang @xiaojian-hong @wujunzhuo

📕 Source can get response from Zipper instead of implementing a Stream Function besides Source to get the response.

I think YoMo should implement it!

Two years ago, YoMo was created to solve problems for IIoT, most of the scenarios were offloading the processing from devices to the edge clouds. Now, more and more web applications need low-latency and streaming computing, I think we should improve YoMo to meet the requirements.

@fanweixiao
Copy link
Member

Hi @Nordes ,

about this feature request:

📕 Multiple Stream Functions with same name

we release YoMo v1.7.3, and avoid sfn with same name.

📕 Source can get response from Zipper instead of implementing a Stream Function besides Source to get the response.

in #330, we are implementing, will release this feature in next 2 weeks :)

@fanweixiao
Copy link
Member

Hi @Nordes, about the features:

📕 Source can get response from Zipper instead of implementing a Stream Function besides Source to get the response.

@venjiang implemented in v1.8.0.

Examples about Backflow support can be found at example/5-backflow.

Thanks a lot for contribute new features! as all the features required have been implemented, I think this PR can be closed.

@Nordes Nordes closed this Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants