mesh-neo
v1.0.0
Published
基于 jsql-neo 的网格化数据框架:嵌入引擎 + 插件体系,内置数据同步(CDC 表镜像 / 全量快照+增量 / 多节点副本 / WAL 刷盘)
Maintainers
Readme
mesh-neo
mesh-neo 是一个基于 jsql-neo 的网格化数据框架:以 jsql-neo 为底层嵌入式数据库引擎,通过统一插件体系扩展数据同步、复制、服务化等能力。
- 引擎:jsql-neo(Native / WASM / Pure JS,SQL 风格 API,B-Tree 索引、WAL、事务隔离)
- 插件:沿用 jsql-neo 插件/模块 API —— 见 PLUGINS.md
- 示例:
mod/目录存放 mesh-neo 的例示插件,第一个是数据同步插件(CDC 表镜像 + 全量快照/增量 + 多节点副本 + WAL 刷盘)
目录结构
mesh-neo/
├── README.md # 本文件
├── PLUGINS.md # 插件契约 / 模块系统文档
└── mod/ # mesh-neo 例示插件
├── sync.js # 数据同步插件(jsql-neo 同步逻辑)
└── sync.demo.js # 可运行演示快速上手
1. 安装依赖
npm install jsql-neo2. 运行同步例示插件
node mod/sync.demo.js预期输出覆盖四个同步阶段:全量快照 → 增量 CDC → 冲突处理 → 多节点副本 + WAL/检查点,全部断言通过。
3. 在代码里挂载插件
const jsql = require('jsql-neo');
const sync = require('./mod/sync');
const src = new jsql.Database(':memory:');
const replicaA = new jsql.Database(':memory:');
await src.createTable('users', {
name: { type: 'string', primaryKey: true },
age: { type: 'integer' },
});
sync.opts = {
srcTable: 'users',
targets: [{ db: replicaA, table: 'users', name: 'replica-a' }],
flushMode: 'event',
wal: true,
};
src.use(sync); // 或经 ModuleManager.applyTo(src) 应用
src.start(); // onStart 触发全量快照
await src.sync.syncNow();详细回调、hooks、事件与模块系统说明见 PLUGINS.md。
许可证
Apache License 2.0 —— 与 jsql-neo 一致。
