MIT License

项目介绍

WGrape/esupdater 是一个托管在 GitHub 上的开源项目,主要使用 PHP 编写,采用 MIT License 许可证,目前获得 209 个 Star、18 次 Fork。

仓库全名
WGrape/esupdater
开源许可证
MIT License
Star 数
209
Fork 数
18
未关闭 Issue
3

README 摘要

一个基于Canal实现ES文档增量更新的高性能轻量框架 一、介绍     1、轻量级框架     2、全面容器化     3、事件驱动化     4、插件化扩展     5、高性能消费 二、快速上手 三、业务接入 四、扩展列表 五、关于项目     1、深入了解     2、欢迎参与 六、贡献列表 一、介绍 ESUpdater是一个基于Canal实现ES文档增量更新的高性能轻量框架。基于以下优势,可以让你快速上手和使用。 1、轻量级框架 无论安装使用,还是代码设计,整个框架都非常轻量,优雅的完成数据二次处理和ES增量更新。 2、全面容器化…

完整内容见 GitHub 原始 README 或本页 。

常见问题

esupdater 用什么语言开发?

主要使用 PHP 编写,采用 MIT License 许可证,目前有 209 个 Star。

esupdater 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 esupdater 的源码?

可以直接克隆仓库:git clone https://github.com/WGrape/esupdater.git,默认分支为 v2.x;安装与运行步骤见仓库 README。

esupdater 最近还在维护吗?

仓库最近一次更新为 2023年1月17日,当前有 3 个未关闭 Issue;Star 数为 209,可作为社区活跃度的参考。

关于

A high-performance lightweight framework of PHP to achieve incremental update of ES documents / 一个基于Canal实现ES文档增量更新的高性能轻量框架

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
247
价值分
130
活跃状态
活跃

语言占比

CSS
Dockerfile
HTML
PHP
Shell

Release

贡献者

README

img

一个基于Canal实现ES文档增量更新的高性能轻量框架

GitHub release (latest by date) Docker Pulls

一、介绍

ESUpdater是一个基于Canal实现ES文档增量更新的高性能轻量框架。基于以下优势,可以让你快速上手和使用。

Architecture

1、轻量级框架

无论安装使用,还是代码设计,整个框架都非常轻量,优雅的完成数据二次处理和ES增量更新。

2、全面容器化

为解决各种依赖安装的复杂麻烦问题,已实现全面容器化,只需一条命令就可以轻松安装、部署、和维护。

3、事件驱动化

基于框架内部的事件驱动设计,可以轻松地注册不同数据表的变更事件和回调,优雅地实现增量更新。

4、插件化扩展

在不影响框架内部运行的前提下,支持插件化扩展,实现对内部行为的自定义扩展。

5、高性能消费

通过一个Consumer进程和多个Worker进程的一对多通信模型,最少提高10倍的吞吐量,实现高性能消费。

二、快速上手

预计只需要 3分钟 即可完成 !

以下操作中会依赖Docker,所以请先安装并启动它。如果只是试用则强烈建议你全程使用在线Docker网站,按如下步骤安装即可,非常方便。

1、获取项目

通过git clone或下载Release包即可获取项目,如果出错请参考获取过程帮助文档。

git clone https://github.com/WGrape/esupdater
cd esupdater

2、开始安装

执行install目录下的install.sh安装脚本时,需要传递如下参数以实现设置环境变量。如果出错请参考安装过程帮助文档。

  • your_local_ip :本机IP参数,通过ifconfig查看,通常为192.168开头,而不是127.0.0.1
cd install
bash install.sh ${your_local_ip}
cd ..

3、运行项目

安装成功后,执行根目录下的start.sh启动脚本即可。如果出错请参考运行过程帮助文档。

bash start.sh

# 查看日志输出
tail -f /home/log/esupdater/debug.log.20220111

4、测试运行

在另一个窗口进入kafkaContainer容器中,按如下操作启动Kafka生产者

docker exec -it kafkaContainer /bin/bash
cd /opt/kafka/

# 启动时可能会出现warn, 忽略即可
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic default_topic
img1

启动成功后会进入一个生产消息的命令行,发送任意消息后,查看上一步日志中的输出,如果出现如下类似日志则说明服务已经成功运行 !

img2

三、业务接入

如果需要在你的业务中接入此项目,请参考应用接入文档。

四、扩展列表

基于插件化扩展开发,项目提供了一系列开箱即用的扩展。

1、AutoGenerateCallback

一个自动生成Handler和Service的事件回调模块的扩展。具体使用见使用介绍

五、关于项目

1、深入了解

如果想要深入了解本项目,在 doc目录 下提供了如下丰富完善的项目文档,欢迎阅读。

  • APPLICATION :帮助你快速在业务中接入此项目
  • HOWTOCODE :更深的了解项目,包括架构设计、底层原理
  • HELP :解决安装和部署过程中问题的帮助手册,包括镜像制作帮助、容器部署帮助等

2、参与项目

项目源码设计简单易懂,如有更好的想法,可参考如何贡献文档,期待提出宝贵的 Pull request 。

如果在了解和使用过程中,有任何疑问,也欢迎提出宝贵的 Issue 。

开源不易,如果支持本项目 欢迎Star ! 以激励维护和更新的动力。

六、贡献列表

所有对本项目有过重要贡献的用户,会收录在此贡献者列表中。

评论

暂无评论