An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 4.5% on proxy.golang.org
Top 1.9% dependent packages on proxy.golang.org
Top 2.1% dependent repos on proxy.golang.org
Top 7.8% forks on proxy.golang.org

proxy.golang.org : github.com/luno/reflex

Package reflex provides events (state change notifications) for mutable sql tables. It also supports streaming consumption of these events both directly locally or via gRPC. It therefore aims to provide streams of sql events similar to other database streaming features, like DynamoDB Streams, except that these events do not contain any data, but are merely pointers. Reflex events are pointers to state changes of mutable data. Events are inserted as part of sql transactions that modify the data. This ensures strong data consistency; exactly one event per state change. The EventsTable wraps a event DB table allowing insertion of events. The canonical pattern is to define an EventsTable per mutable data table. Ex. users and user_events, payments and payment_events. Note that event insertion is generally defined on the data layer, not business logic layer. The datum (data entity) referred to and state change performed on it are implied by the event source and type. Ex. An event produced by the "user service" with type "UserCreated", or an event by the "auth service" with type "APIKeyVerified". The EventsTable also provides event streams from a arbitrary point in the past. Reflex also supports exposing these event streams via gRPC. Consumers consume the event stream keeping a cursor of the last event. This ensures at-least-once data consistency. Consumers therefore need to persist their cursor. The CursorsTable wraps a DB table allowing getting and setting of cursors. The canonical pattern is to define one cursor table per service. There are two ways to consume event streams: EventTable + CursorsTable: The consumer logic has local access to both the events and consumers tables. Ex. User service sends an email on UserCreated. gRPC stream + CursorsTable: The consumer logic has access to a local CursorsTable, but requests the event stream from a remote service via gRPC. Ex. The Fraud service consumes PaymentCreated events from the payments service. It has its own DB and CursorsTable.

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/luno/reflex
License: MIT
Latest release: over 1 year ago
First release: over 2 years ago
Namespace: github.com/luno
Dependent packages: 8
Dependent repositories: 6
Stars: 42 on GitHub
Forks: 6 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 4 days ago

github.com/andrewwormald/workflow v0.4.2
A Go distributed workflow framework that supports durable, robust, and idempotent state changes w...
17 versions - Latest release: over 1 year ago - 2 stars on GitHub
Top 7.0% on proxy.golang.org
github.com/luno/shift v0.0.0-20231003101531-64f0e01da015
Package shift provides the persistence layer for a simple "finite state machine" domain model wit...
5 versions - Latest release: over 1 year ago - 1 dependent package - 1 dependent repositories - 17 stars on GitHub
github.com/rickkln/shift v0.0.0-20230504233842-a8558cbd1a47
Package shift provides the persistence layer for a simple "finite state machine" domain model wit...
7 versions - Latest release: about 2 years ago - 1 stars on GitHub
Top 9.3% on proxy.golang.org
github.com/corverroos/replay v0.0.0-20230214095709-df2bf9238b44
Replay is a robust durable asynchronous distributed application logic framework.
2 versions - Latest release: over 2 years ago - 1 dependent package - 1 dependent repositories - 6 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/corverroos/rjet v0.0.0-20211029124241-f15ce62da14d
Reflex streaming client for NATS JetStream
1 version - Latest release: over 3 years ago - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/corverroos/rredis v0.0.0-20211005065611-50fdec0b7b5e
Reflex stream client for redis streams
1 version - Latest release: over 3 years ago - 0 stars on GitHub
Top 9.9% on proxy.golang.org
github.com/corverroos/replaytutorial v0.0.0-20210614085402-a92b3fece455
Tutorial for the replay framework
1 version - Latest release: almost 4 years ago - 1 stars on GitHub
github.com/corverroos/rscylla v0.0.0-20210303110735-9816335cfd28
A reflex stream adapter for scylladb CDC log.
1 version - Latest release: about 4 years ago - 5 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/corverroos/goku v0.0.0-20200929082353-2ee3082edae6
A simple golang kev-value store built on mysql
1 version - Latest release: over 4 years ago - 0 stars on GitHub
Top 10.0% on proxy.golang.org
github.com/adamhicks/ctrlaltdefeat v0.0.0-20200212121510-01920d4d522b
1 version - Latest release: over 5 years ago - 0 stars on GitHub
Past Dependents
Include Past Dependents

Check this option to include packages that no longer depend on this package in their latest version but previously did.