core: go.gazette.dev/core

Directories

PathSynopsis
allocatorPackage allocator implements a distributed algorithm for assigning a number of "Items" across a number of "Members", where each Member runs an instance of the Allocator.
allocator/push_relabelPackage push_relabel implements a greedy variant of the push/relabel algorithm.
allocator/sparse_push_relabel
brokerPackage broker implements the broker runtime and protocol.JournalServer APIs (Read, Append, Replicate, List, Apply).
broker/clientPackage client implements a Go client for interacting with the gRPC Journal service of Gazette brokers.
broker/codecs
broker/fragmentPackage fragment is a broker-only package concerned with the mapping of journal offsets to protocol.Fragments, and from there to corresponding local or remote journal content.
broker/http_gateway
broker/journalspacePackage journalspace provides mechanisms for mapping a collection of JournalSpecs into a minimally-described hierarchical structure, and for mapping back again.
broker/protocolPackage protocol defines the core broker datamodel, validation behaviors, and gRPC APIs which are shared across clients and broker servers.
broker/protocol/extPackage ext defines extensions to broker/protocol that depend on keyspace and allocator (which in turn depend on etcd).
brokertestPackage brokertest provides utilities for testing components requiring a live Gazette broker.
broker/teststub
cmd/gazctl
cmd/gazctl/editorPackage editor provides utilities for editing and re-editing text files in an editor until the changes are accepted or the user aborts the attempt.
cmd/gazette
consumerPackage consumer is a framework for distributed, stateful consumption of Gazette journals.
consumer/protocolPackage protocol defines the consumer datamodel, validation behaviors, and gRPC APIs which are shared across clients and consumer application servers.
consumer/recoverylogPackage recoverylog specifies a finite state machine for recording and replaying observed filesystem operations into a Gazette journal.
consumer/shardspacePackage shardspace provides mechanisms for mapping a collection of ShardSpecs into a minimally-described, semi hierarchical structure, and for mapping back again.
consumer/store-rocksdbPackage store_rocksdb implements the consumer.Store interface via an embedded RocksDB instance.
consumer/store-sqlitePackage store_sqlite implements the consumer.Store interface via an embedded SQLite instance.
consumertestPackage consumertest provides utilities for in-process unit testing of Gazette consumer applications.
etcdtestPackage etcdtest provides test support for obtaining a client to an Etcd server.
examplesPackage examples parents packages which implement example Gazette consumer applications.
examples/bike-sharePackage bike_share implements a Gazette consumer application which processes and serves streaming Citi Bike system data.
examples/bike-share/bike-share
examples/stream-sumPackage stream_sum is an example application consisting of three stages:
examples/stream-sum/chunker
examples/stream-sum/summerPackage summer runs the stream_sum.Summer consumer.
examples/word-countPackage word_count is an example application which provides a gRPC API for publishing texts and querying running counts of NGrams extracted from previously published texts.
examples/word-count/counterPackage counter runs the word_count.Counter consumer.
examples/word-count/wordcountctl
keyspacePackage keyspace implements an efficient mechanism to mirror a decoded Etcd key/value space into a local KeySpace, which may be kept updated via a long- lived Watch operation.
labelsPackage labels defines well-known label names and values of Gazette.
mainboilerplate
mainboilerplate/runconsumerPackage runconsumer extends consumer.Application with support for configuration and application initialization.
messagePackage message is a client-only library which implements exactly-once message semantics atop raw, at-least-once Journal byte-streams.
server
task

Updated 2020-09-18. Refresh now. Tools for package owners.