Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ANASy Labs — Data · Sync · Scale

ANASy

Analytics Sync. Keep OLTP thin: publish fat events once to Kafka. Any number of sinks consume them.

OLTP  --EventPublisher-->  Kafka  --group A-->  ClickHouse
                           └────  --group B-->  other warehouse

Kafka is the product boundary. ClickHouse is a reference sink, not the architecture.

Modules

Module Layer
event-connector-starter Core. Inject EventPublisher.
sinks/clickhouse-batch-sink Optional. Batch JDBC into ClickHouse.

Java 21, Spring Boot 3.4, Maven. Group io.anasy.

Docs

Doc Read when
docs/PLAN.md Locked decisions
docs/hld.md Architecture, fan-out
docs/lld.md Starter, publisher, how to add a sink
docs/scaling.md Partitions, groups, per-sink tuning
docs/sinks/clickhouse.md ClickHouse config, schema, queries
AGENTS.md Agent rules

Quick path

  1. Run Kafka. Depend on event-connector-starter.
  2. Publish:
events.publish("orders.events", order.id().toString(), fatEvent);
  1. Add a sink: new app, unique group-id, write record.key() as eventId. ClickHouse: apply docs/sinks/clickhouse.sql and run clickhouse-batch-sink.

About

Analytics Sync

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors