MySQL高可用之PXC简介(3)

这个接口是galera最重要的接口之一。它的作用包括两部分,首先是将当前指定的事务写集广播给整个集群节点,然后就是验证,如果验证成功,则将处理权交给上层,继续做数据库事务的提交操作;这个接口是在数据库事务提交时调用的,调用这个接口时,必须是本地事务已经执行完成;

---galera_replay_trx:

这个接口的作用及使用,就是在验证过程中,由于数据库锁的冲突,当前操作被其他线程自治县了galera_abort_pre_com_mit,导致当前线程被强制中止,但是由于写集已经复制到其他节点,所以本节点这个事务必须要完成。通过这个接口,将这个事务的写集做一次apply,所以就叫replay;

---galera_append_key:

这个接口就是所谓的galera验证,被验证的对象实际上就是写集,而构成写集的内容,其实就是通过这个接口来完成的;

---galera_append_data:

这个接口是当前事务所生成的binlog内容,也就是说key在验证通过之后,使用data在从节点执行,即可做到数据同步;

---galera_post_commit:

这个接口是用来真正提交事务的。这个接口包括4个功能:更新状态参数wsrep_last_committed的值,表示当前事务已经真正提交了;更新参数wsrep_local_commits的值,表示本地又成功提交了一个事务;检查当前验证写集缓冲区是不是可以做purge操作;

---galera_to_execute_start:

这个接口专门用来处理DDL语句的执行;

---galera_to_execute_end:

这个接口实际上和galera_post_commit功能一样,成对出现,是为处理不同语句而设置的,主要就是为了从commit临界区中出来,从而让其他事务继续提交;

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bda3ba69848321b4d81a1ec81d963cc1.html