Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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