Update README.md
logbook 是一款面向 ToB 业务的服务端埋点方案
支撑业务正常运转的软件系统体系,统称为业务系统。
单个业务系统中发生的事件,叫业务事件。 业务事件可能影响到0个或多个实体。
业务系统把自己感知到的业务事件提交给 logbook 的过程。
logbook 接收业务系统的业务事件,业务事件的格式和内容由业务系统和logbook双方共同约定。 在 logbook 接收事件时、会对约定格式/内容做校验,校验的过程叫做准入。
单一实体视角发生的事件,叫实体事件。 实体事件只涉及到单个实体,由业务事件加工后得到。
logbook 把业务事件翻译成实体事件的过程。
需要使用实体事件作为输入,来支撑自身业务的系统。
logbook 把实体事件处理后发送给对应的数据使用方的过程。
标准格式:
对业务事件的准入方案,目前支持 jsonSchema 校验,可扩展。
将业务事件翻译为实体事件的方案,目前支持 groovy 翻译,可扩展。
将实体事件分发给具体某个使用方前,可以进行简单的过滤,目前支持 groovy 过滤,可扩展。
业务事件翻译为实体事件后,会存入消息队列,目前支持 kafka 消息队列,暂不支持扩展。 实体事件也是通过 kafka 分发给数据使用方,暂不支持扩展。
文档位置:```docs/ApiDocs.md``
修改 application.yml 配置文件,路径:logbook-server/src/main/resources/application.yml
logbook-server/src/main/resources/application.yml
logbook 内部需要用到 12 张表,其中:
logbook-server/sql/config.sql
logbook-server/sql/run.sql
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector.version}</version> </dependency>
logbook 没有提供默认的消息队列实现,需要使用方选型完成后进行二次开发。
logbook/logbook-server/src/main/java/com/didiglobal/mq/MQCustomizedUtil.java
<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>${kafka-client.version}</version> </dependency>
docs/logbookDemoSql.sql
docs/ApiDemo.md
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
logbook 简介
logbook 是一款面向 ToB 业务的服务端埋点方案
概念介绍
1. 业务系统
支撑业务正常运转的软件系统体系,统称为业务系统。
2. 业务事件
单个业务系统中发生的事件,叫业务事件。 业务事件可能影响到0个或多个实体。
3. 上报
业务系统把自己感知到的业务事件提交给 logbook 的过程。
4. 准入
logbook 接收业务系统的业务事件,业务事件的格式和内容由业务系统和logbook双方共同约定。 在 logbook 接收事件时、会对约定格式/内容做校验,校验的过程叫做准入。
5. 实体事件
单一实体视角发生的事件,叫实体事件。 实体事件只涉及到单个实体,由业务事件加工后得到。
6. 翻译
logbook 把业务事件翻译成实体事件的过程。
7. 数据使用方
需要使用实体事件作为输入,来支撑自身业务的系统。
8. 分发
logbook 把实体事件处理后发送给对应的数据使用方的过程。
logbook 核心能力
实施标准
1. 业务事件
标准格式:
2. 实体事件
标准格式:
3. 准入
对业务事件的准入方案,目前支持 jsonSchema 校验,可扩展。
4. 翻译
将业务事件翻译为实体事件的方案,目前支持 groovy 翻译,可扩展。
5. 过滤
将实体事件分发给具体某个使用方前,可以进行简单的过滤,目前支持 groovy 过滤,可扩展。
6. 消息队列
业务事件翻译为实体事件后,会存入消息队列,目前支持 kafka 消息队列,暂不支持扩展。 实体事件也是通过 kafka 分发给数据使用方,暂不支持扩展。
快速开始
1. 阅读 api 接口
文档位置:```docs/ApiDocs.md``
2. 修改 yml配置
修改 application.yml 配置文件,路径:
logbook-server/src/main/resources/application.yml3. 修改数据库配置
logbook 内部需要用到 12 张表,其中:
logbook-server/sql/config.sqllogbook-server/sql/run.sql4. 添加 mysql 驱动
5. 二次开发
logbook 没有提供默认的消息队列实现,需要使用方选型完成后进行二次开发。
logbook/logbook-server/src/main/java/com/didiglobal/mq/MQCustomizedUtil.java6. demo
docs/logbookDemoSql.sql中的 “你的kafka地址” 为真实的 kafka 地址docs/logbookDemoSql.sql将 demo 的配置侧数据写入到数据库docs/ApiDemo.md中的请求,进行 demo 测试