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

Make communication between components extensible #2081

Open
2 tasks done
paullatzelsperger opened this issue Oct 12, 2022 · 4 comments
Open
2 tasks done

Make communication between components extensible #2081

paullatzelsperger opened this issue Oct 12, 2022 · 4 comments
Labels
api Feature related to the (REST) api enhancement New feature or request
Projects
Milestone

Comments

@paullatzelsperger
Copy link
Member

paullatzelsperger commented Oct 12, 2022

Feature Request

For the purposes of this issue let's define the term component as a synonym for the somewhat loaded term "microservice". By it we refer to deployment units such as the control-plane, the data-plane, or the data-plane-selector or the federated-catalog.

Communication between these is now always HTTP/REST, but there may be installations that prefer decoupling the components further by using some sort of event-based messaging system.

For example, a DataFlowRequest could be published as outgoing Kafka Topic instead of being sent as HTTP POST.

Users should be able to contribute their favourite communication binding using extensions.

Which Areas Would Be Affected?

APIs of various components

Why Is the Feature Desired?

It should be possible to send the same messages (DTOs) over various transport mechanisms such as HTTP/REST, RabbitMQ, Kafka, etc. The only thing that changes is the client implementation and the "server" implementation.

Solution Proposal

should be provided in the form of an Architecture Decision Record

Type of Issue

story / enhancement

Checklist

  • assigned appropriate label?
  • Do NOT select a milestone or an assignee!
@paullatzelsperger paullatzelsperger added enhancement New feature or request api Feature related to the (REST) api labels Oct 12, 2022
@github-actions github-actions bot added this to Open in Connector Oct 12, 2022
@jimmarino
Copy link
Contributor

Do we need this level of complexity? Abstracting all possible transports will get difficult very quickly.

Let's keep things simple by stating that if people want this level of flexibility, they should implement their own DataFlowController.

@paullatzelsperger
Copy link
Member Author

paullatzelsperger commented Oct 13, 2022

OK, maybe the term abstract is a bit misleading, because I did not mean to introduce another level of type abstraction, but rather the possibility to exchange one particular binding (HTTP) with another. I updated the title and description.

@paullatzelsperger paullatzelsperger changed the title Make communication between components abstract Make communication between components extensible Oct 13, 2022
@github-actions
Copy link

This issue is stale because it has been open for 14 days with no activity.

@github-actions github-actions bot added the stale Open for x days with no activity label Oct 28, 2022
@paullatzelsperger paullatzelsperger removed the stale Open for x days with no activity label Oct 29, 2022
@paullatzelsperger paullatzelsperger added this to the Backlog milestone Oct 29, 2022
@github-actions
Copy link

This issue is stale because it has been open for 28 days with no activity.

@github-actions github-actions bot added the stale Open for x days with no activity label Jun 24, 2023
@juliapampus juliapampus removed the stale Open for x days with no activity label Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Feature related to the (REST) api enhancement New feature or request
Projects
No open projects
Connector
  
Open
Development

No branches or pull requests

3 participants