cc Johannes

On 22.02.2019 at 13:00, sergio tabanelli wrote:

> Hi all,
> This is my second attempt to get some feedback on our work on the
> mysqlnd_ms PECL extension.
> 
> My name is Sergio Tabanelli and I work in a LAMP team for  a big Italian
> company, the team manages about 100 small LAMP intranet applications. Two
> years ago we decide to pass from stand-alone MySQL servers to async MySQL
> clusters. Our initial thought was to use the mysqlnd_ms plugin (the
> objective was to avoid application changes) but we realize soon that the
> mysqlnd_ms missed some functionalities in maintenance and  read and write
> consistency fields, specially considering new functionalities added to
> latest MySQL versions, like multi-source replication, GTID tracking and
> Group Replication, last but not least the plugin appears to be not
> maintained by several years. So we port this extension to php 7.x, official
> PECL extension works only with php < 5.6, and add new cool functionalities
> among witch native MySQL GTID read/write consistency with mutimaster write
> consistency included, for this check my gist at
> https://gist.github.com/sergiotabanelli/ce992b630d08a0bc7a9cec7c577638f5.
> With our new version we have now our applications deployed on MySQL
> multimaster group replication clusters, and this without any changes to our
> legacy code!
> So .... I am asking to PECL developers if it is possible, and if yes what
> we should do, to merge  our work to the PECL actual mysqlnd_ms extension,
> start maintaining it and make it official with some kind of php imprimatur.
> We also start changing the original documentation adding new
> functionalities descriptions. The code can be found here
> https://github.com/sergiotabanelli/mysqlnd_ms
> <https://github.com/sergiotabanelli/mymysqlnd_ms> , a brief description
> follows:
> 
> * PHP7.x porting
> * New QOS session consistency and transaction id injection
> * Server side read consistency (mysql >= 5.7.6 with
> --session-track-gtids=OWN_GTID)
>    - Mysql native built-in read consistency
>    - PHP session_id read consistency enforcing
> * Server side write consistency (mysql >= 5.7.6 with
> --session-track-gtids=OWN_GTID)
>    - Multi master write consistency
>    - Multi master write consistency logical partitions
> * Client side read consistency
>    - Distinct master connection for client side read consistency and gtid
> injection
>    - Client side transaction id injection with memcached mysql plugin
> * Simple client side write consistency
>    - Multi master write consistency
>    - Multi master write consistency logical partitions
> * New config_dir ini directive for connection based json config files
> * New master_on ini directive for rw splitting
> * New inject_on ini directive for transcation id consistency
> tracking/injection
> * New mysqlnd_ms_set_trx and mysqlnd_ms_unset_trx php functions for
> application based transaction tracking
> 
> Best regards
> Sergio
> 


-- 
PECL development discussion Mailing List (http://pecl.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to