讲师回答 / 神思者
同学你好,单节点数据库并发写入要参考事务机制,建议你认真了解一下事物的ACID属性。另外你说的写入后又读取不出来的问题,是不是没提交事务导致另一方必定读不出数据呢?数据库集群解决的是单节点数据库不具备三高特点:高性能、高并发和高可用。当然数据库集群的知识量比单节点MYSQL要多一些,但同时也意味着你的技能更加值钱。
2018-05-31
已采纳回答 / 神思者
pxc集群的同步速度取决于性能最差的节点,因此说每个节点硬件配置要基本相同,否则就是浪费。另外,pxc集群不要组建太大规模的集群,节点越多同步的工作也就越多,所以速度也就越慢。最后,可以利用pxc集群和replication集群共同组成混合集群,由mycat或者其他中间件管理。重要的数据(用户信息、余额、交易、充值)保存到pxc集群,非重要的数据(新闻、回帖、公告、招聘、商品信息)保存到replication集群。至于跨集群的事物一致性可以参考微服务的解决办法,有一种方案是依靠MessageQueue来实...
2018-05-27
已采纳回答 / 神思者
同学你好,PXC集群只有在超过一半数量的节点宕机,集群才会不可用,这是为了避免异地机房部署PXC集群,因为网络故障,导致一个PXC集群分裂成两个集群。所以说挂掉一两个节点没什么问题,只要不超过一半的节点就行。
2018-05-27
已采纳回答 / 神思者
在每个节点上设置不同的主键自增规则即可。比如三节点集群,Node1的主键从1开始,递增+3;Node2的主键从2开始,递增+3;Node3的主键从3开始,递增+3
2018-05-26
讲师回答 / 神思者
您可以收看刚刚上线的《Docker环境下的前后端分离部署与运维》,其中包括了在Linux环境下搭建PXC集群的内容,https://coding.imooc.com/class/219.html
2018-05-24
讲师回答 / 神思者
这个问题要从脑裂故障说起。比如说PXC集群部署在两个机房里。如果两个机房的之间网线断了,A机房和B机房里的主机会各自组成集群,也就是说一个集群分裂成了两个集群。比如负载均衡向A机房的主机写入数据,下一次业务处理请求发送到B机房,B机房的主机内就差不到数据,这个故障很严重。为了避免脑裂分裂成多个集群,PXC会让多余一半主机的机房内的数据库节点组成一个集群,少于一半主机的机房内的数据库节点都不可用。这样脑裂出现,只会存留一个集群,而没有两个集群。所以说超过一半节点无法访问,就组不成集群。
2018-05-22