mysql高可用集群PXC
作者:向前的步伐 / 发表: 2020年2月20日 15:26 / mysql/ 阅读量:986
PXC是mysql的套高可用集群的解决方案,跟传统的主从复制集群相比,PXC解决了数据复制延迟的问题,基本上可以达到实时同步,而且节点之间的关系是对等的。PXC最关注的是数据的一致性,对待事务的行为,要么在所有节点上执行,要么都不执行,它的实现机制决定了它对待一致性非常严格,这也能非常完美的保证mysql集群的数据一致性。
PXC是mysql的套高可用集群的解决方案,跟传统的主从复制集群相比,PXC解决了数据复制延迟的问题,基本上可以达到实时同步,而且节点之间的关系是对等的。PXC最关注的是数据的一致性,对待事务的行为,要么在所有节点上执行,要么都不执行,它的实现机制决定了它对待一致性非常严格,这也能非常完美的保证mysql集群的数据一致性。
索引是帮助数据库高效获取数据的数据结构,索引是基于数据表创建的,它包含了表中某些列的值以及记录对应的地址,并把这些值存储在一个数据结构中。索引采用的数据结构有hash、平衡二叉树、B树、B+树。
随着互联网的发展,用户量迅速扩大,对系统的要求也越来越高。关系型数据库容易成为系统的瓶颈,单机的存储能力、连接数、处理能力都有限。当单表的数据量达到1000W或者100G以后,数据库的很多操作性能就会严重下降。此时就要考虑对数据库进行切分,减少数据库的压力,缩短查询时间。
当网站的有大量的并发访问时,除了在服务应用实现负载均衡,还需要分解单台数据库服务器的压力,大量的数据库连接到同一台机器,数据库必然崩溃,数据就会丢失。这时除了使用缓存减少数据库的压力,还可以设置数据库集群,使用mysql的主从配置,实现读写分离,减少数据库的压力。
redis是一个开源的key value存储系统,在redis3.0之前只支持单例模式,在redis3.0之后才开始支持集群模式。一般情况下,哨兵模式已经能满足一般的生产需求,具备了redis服务的高可用性。但是当数据达到一台服务器存放不下的情况,主从模式或者哨兵模式就不能满足需求。这个时候就需要对数据进行分片,将数据存储到多个redis实例中,集群模式就能解决单机redis容量的问题。
redis支持RDB和AOF两种持久化机制,持久化能避免因进程退出而导致的数据丢失,当再次启动redis服务进程时,可以恢复之前的数据。
compose用于定义和运行多容器docker的应用程序工具。可以使用yml文件来配置应用程序需要的所有服务,然后使用docker-compose命令,就可以创建并启动配置文件中的所有服务。
哨兵模式是redis实现高可用的实现方式之一,使用一个或者多个哨兵组成集群,对redis节点进行监控,在redis主节点宕机的情况下,哨兵能将从节点中选一个升级为主节点,进行故障节点的移除,实现系统的高可用。