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

Road to alpha #1

Open
2 of 26 tasks
birdayz opened this issue May 17, 2022 · 0 comments
Open
2 of 26 tasks

Road to alpha #1

birdayz opened this issue May 17, 2022 · 0 comments

Comments

@birdayz
Copy link
Owner

birdayz commented May 17, 2022

Config

  • Config package with env var support (KSTREAMS_ prefix)
  • Autodetect k8s and enable group instance id based on pod name.

Topology

  • Add new type "builder", and use existing code as internal package
  • Prevent infinite loops

Processor

  • ctx.Forward should handle error if no downstream processor is registered
  • ProcessorBuilder should be interface, with Stores() []StoreBuilder func

Testing

  • Console sink

Benchmarking

Built-in processors#1

  • Joins
  • Windowing
  • Calendar based aggregations (eg. calendar day, month, year, ..)
  • Batch

State stores

  • Windowed state store
  • Object store implementations
  • Cache (for use with object store, write-back cache probably?)

Examples

  • IoT Use case: messages/h bytes/h
  • IoT Use case: data enrichment
  • OpenTelemetry, spans per processor, propagation of traceID

Other

  • Batches?
  • Store retention time
  • Event time
  • Record context, Metadata , Headers, Interceptors
  • Error Handlers / Interceptors
  • Better way to package store(s) + processor for pre-built processors likeAggregation,Join, ...
  • State store snapshots from outside, by consuming from a changelog topic.

K8s / Cloud native

  • Auto detect k8s and turn on settings like: static membership, pod name in group meta
  • add simple to use aggregators for windowed aggs (?)

Error handling

  • preserve error when exiting worker in error case

Config/Options

  • SASL
  • TLS

Deps

  • Remove multierr, it just has too many deps to be worth it (yaml?!)
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

No branches or pull requests

1 participant