All Projects → jilieryuyi → wing-binlog

jilieryuyi / wing-binlog

Licence: MIT License
php mysqlbinlog monitoring system

Programming Languages

PHP
23972 projects - #3 most used programming language
go
31211 projects - #10 most used programming language
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to wing-binlog

rmnp
Realtime Multiplayer Networking Protocol
Stars: ✭ 41 (+10.81%)
Mutual labels:  protocol
AnyStatus
A remote control for your CI/CD pipelines and more
Stars: ✭ 38 (+2.7%)
Mutual labels:  monitor
xboxone-home-assistant
Control your Xbox One from your Home Assistant device.
Stars: ✭ 26 (-29.73%)
Mutual labels:  protocol
lwow
Lightweight onewire protocol library optimized for UART hardware on embedded systems
Stars: ✭ 98 (+164.86%)
Mutual labels:  protocol
CollectionAndTableViewCompatible
A set of Swift protocols and Xcode snippets that will make it easy to do clean UITableView code
Stars: ✭ 34 (-8.11%)
Mutual labels:  protocol
ArcoLinux-dotfiles
ArcoLinux dotfiles for 2bwm / i3wm
Stars: ✭ 24 (-35.14%)
Mutual labels:  monitor
cproto
Chrome Debugging client for Python
Stars: ✭ 29 (-21.62%)
Mutual labels:  protocol
httoop
HTTOOP - a fully object oriented HTTP protocol library written in python
Stars: ✭ 15 (-59.46%)
Mutual labels:  protocol
k8s-mon
滴滴夜莺Kubernetes monitor
Stars: ✭ 40 (+8.11%)
Mutual labels:  monitor
libosdp
Implementation of OSDP (Open Supervised Device Protocol, IEC 60839-11-5); provides a C/C++ library with Python3 bindings to control/manage OSDP enabled security devices.
Stars: ✭ 47 (+27.03%)
Mutual labels:  protocol
penetration testing
🎩 [penetration testing Book], Kali Magic, Cryptography, Hash Crack, Botnet, Rootkit, Malware, Spyware, Python, Go, C|EH.
Stars: ✭ 57 (+54.05%)
Mutual labels:  protocol
spring-boot-protocol
springboot功能扩充-netty动态协议,可以支持各种网络协议的动态切换(单端口支持多个网络协议).支持mmap,sendfile零拷贝,http请求批量聚合
Stars: ✭ 68 (+83.78%)
Mutual labels:  protocol
FATE-Serving
A scalable, high-performance serving system for federated learning models
Stars: ✭ 107 (+189.19%)
Mutual labels:  monitor
WindowsMonitor
WMI namespaces and classes
Stars: ✭ 15 (-59.46%)
Mutual labels:  monitor
Dell-S2716DGR-Calibration-Guide
Calibration guide for the Dell S2716DG and S2716DGR to get the best picture quality and colors
Stars: ✭ 33 (-10.81%)
Mutual labels:  monitor
wotop
Web on top of any protocol
Stars: ✭ 118 (+218.92%)
Mutual labels:  protocol
node-sctp
SCTP userspace sockets for Node.js
Stars: ✭ 47 (+27.03%)
Mutual labels:  protocol
lightify-binary-protocol
Documentation of the OSRAM Lightify Binary Protocol for communication between Lightify Gateway and applications
Stars: ✭ 26 (-29.73%)
Mutual labels:  protocol
as3MQTT
📢 Pure Action Script 3 that implements the MQTT (Message Queue Telemetry Transport) protocol, a lightweight protocol for publish/subscribe messaging.
Stars: ✭ 21 (-43.24%)
Mutual labels:  protocol
sdnotify
A pure Python implementation of systemd's service notification protocol (sd_notify)
Stars: ✭ 74 (+100%)
Mutual labels:  protocol

基于mysql数据库binlog的增量订阅&消费

wing-binlog是一个高性能php中间件
wing-binlog是一个轻量化mysql数据库监控系统
wing-binlog可轻松实现不改变一句业务代码实现整库数据变化实时监控
......

2.2升级要点

  1. 去除本地redis依赖
  2. 支持websocket事件通知
  3. 支持tcp事件通知
  4. 简化安装流程
  5. 优化性能问题,使binlog处理速度能达到binlog的写入速度,避免延迟
  6. 支持windows
  7. mysql协议支持

安装

  1. 开启mysql binlog支持,并且指定格式为row,如下配置
[mysqld]
server_id = 1
log_bin = mysql-bin
binlog_format=ROW
  1. 将config下的配置文件.example去除后修改其配置为自己的配置
cd config && cp app.php.example app.php
  1. 执行 php wing start --debug 开启服务进程(需要预先安装composer和php,并将php和composer添加到环境变量),可选参数 --d 以守护进程执行, --debug 启用debug模式, --n 指定进程数量,如:
php wing start --d --debug --n 8 
  1. clients下面有两个测试的客户端,一个websocket和一个php实现的tcp client
  2. 停止所有服务
php wing stop 
  1. 查看服务状态
php wing status 
  1. src/Subscribe目录为可选的订阅者服务插件,只需要配置到app.php的subscribe下即可!
    wing-binlog提供tcp和websocket服务,可选使用go或者workerman,workerman仅支持linux,go支持所有的平台。
    使用go服务需要安装go,已安装的忽略。
    编译go服务(如需使用,请先编译后再启动Binlog服务):
cd services
go build -o tcp tcp.go
go build -o websocket websocket.go

使用场景

  1. 数据库实时备份 (按业务表自定义或者整库同步)
  2. 异地机房业务,双master机房(两地写入,互相同步)
  3. 业务cache/store数据更新 (根据数据库变更日志,直接更新内存cache或者分布式cache)
  4. 敏感业务数据变更服务(典型的就是金额变化通知,库存变化的通知)
  5. 实时数据增量计算统计
    ......

帮助

目录详解:http://www.itdfy.com/details/1156
QQ群咨询 535218312

致谢

https://github.com/fengxiangyun/mysql-replication
https://github.com/jeremycole/mysql_binlog.git

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].