Hi all, 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. Recently 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 the read and write consistency field, expecially considering new functionalities added to latest MySQL versions like multi-source replication, GTID tracking and Group Replication, last but not least the plugin apears to be not mantained by several years. So we start a fork of the plugin, we have now reached a good point in development and start planning production migration of our new infrastructure. 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 mantaining 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/mymysqlnd_ms , a brief description follows:
* PHP7.x porting * New QOS session consinstency 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 stand-alone scenario to
