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