...
Associated JBoss community project: EAT
Knative - A GraphQL subscription Knative source
Summary of idea:
Implement a Knative eventing source for GraphQL subscriptions.
- Create a subscription
- Receive subscription events
- Create CloudEvents from them
- Send those cloudEvents to other Knative resources, using the standard Knative mechanisms
Possible tasks for this project :
- Implement the source
- Implement unit tests, e2e test
- Implement performance tests
- Write documentation
- Prepare demos
Github repo: https://github.com/knative/eventing
Contact / potential mentors: Ali Ok (aliok@redhat.com)
Associated JBoss community project: Knative upstream
Knative - Scaling GraphQL Subscriptions on Serverless environments using Knative
Summary of idea:
GraphQL subscriptions work with websockets or some other persistent connection. When a mutation happens in the GraphQL engine, a subscribed client receives the event of that mutation over that persistent connection.
In the current case, the piece of software that sends the subscription events runs all the time.
How about scaling to zero if there are no subscribed clients?
This project will need some level of research in these areas, before the implementation:
- How to use Websockets with Knative
- How to scale resources with regards to Websocket connections
- See if KEDA could be used to scale the subscription manager
Possible tasks for this project :
- Implement the endpoint
- Implement unit tests, e2e test
- Implement performance tests
- Write documentation
- Prepare demos
- Investigate how KEDA could help
Github repo: https://github.com/knative/eventing
Contact / potential mentors: Ali Ok (aliok@redhat.com)
Associated JBoss community project: Knative upstream