Download the PHP package ridibooks/php-binlog-collector without Composer
On this page you can find all versions of the php package ridibooks/php-binlog-collector. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ridibooks/php-binlog-collector
More information about ridibooks/php-binlog-collector
Files in ridibooks/php-binlog-collector
Package php-binlog-collector
Short Description Ridibooks PHP Binlog Collector
License MIT
Informations about the package php-binlog-collector
php-binlog-collector
PHP로 만들어진 MySQL/MariaDB 복제 프로토콜 라이브러리를 이용한, MariaDB Binlog 기반의 변경사항 수집 응용 어플리케이션으로 분석 범위를 분할하는 Partitioner와 실제 변경사항 데이터를 수집하는 Worker로 구성되어 있습니다.
주요 사용 라이브러리: php-mysql-replication
Installation
-
Composer 사용
- 직접 Github 사용
MariaDB 사용 제약
php-mysql-replication 와 동일합니다.
TARGET_DB는 binlog-format: row 로 설정되어 운영중이여야 합니다.
TARGET_DB 접근 권한은 REPLICATION SLAVE, REPLICATION CLIENT, SELECT 가 필요합니다.
DB 연결 설정
.env.local는 아래와 같습니다.
BINLOG_MYSQL_TARGET는 분석할 DB, BINLOG_MYSQL_HISTORY_WRITE는 분석 위치 및 이력 데이터를 저장할 DB 입니다.
해당 설정 정보는 demo에 docker 기반 환경에 들어 있는 기본 연결 정보입니다.
만약 .env 파일이 있으면 해당 파일로 교체됩니다.
Partitioner/Worker 설정
default 설정정보이며, 외부에서 설정을 변경할 수 있습니다.
설정 정보 | 디폴트 값 | 사용 | 설명 |
---|---|---|---|
gtid_partition_max_count | 1000 | Partitioner | 파티션 최대 개수 |
jump_offset_for_next_partition | 10000 | Partitioner | 파티션을 나누기 위한 값 |
tables_only | X | Worker | 타겟 테이블명들 |
databases_only | X | Worker | 타겟 데이터베이스명들 |
child_process_max_count | 10 | Worker | 동시에 실행할 워커 수 |
once_processed_max_event_count_in_gtid | 100 | Worker | 한 트랜잭션에 한 번에 저장할 이벤트 수 |
gtid_count_for_persist_per_partition | 500 | Worker | 분석시 위치 갱신을 위한 Gtid 갯수 |
is_all_print_event | false | ALL | 디버깅 사용여부 |
Partitioner/Worker 실행
-
Binlog Collector Partitioner에서 최초에 분석을 시작할 위치를 입력하여 분석할 범위를 나눕니다.
-
이미 분석을 시작했다면, 아래 명령어로 DB에 저장된 위치로부터 계속 분석 범위를 나눕니다.
- Partitioner가 나눈 범위에 대해서 Binlog Collector Worker가 병렬적으로 처리합니다.
데모
모든 데모들은 demo directory 에서 이용할 수 있고, docker 기반의 mariadb 환경 및 실제 구동은 travis-ci를 통해서 테스트 해볼 수 있습니다. MariaDB Binlog을 이용한 변경사항 추적 에서 설계 내용을 확인 할 수 있습니다.
All versions of php-binlog-collector with dependencies
krowinski/php-mysql-replication Version 6.2.2
monolog/monolog Version ^1.18.0
ridibooks/platform-gnfdb Version ^0.1
vlucas/phpdotenv Version ^2.4
sentry/sentry Version ^1.5