对于许多新手来说,MYSQL如何探索非互联网企业的读写分离架构并不清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。
MYSQL的大部分高可用性和使用都是基于互联网的,比如MHA和PXC。这些方法在互联网上被广泛使用,并且使用得非常好。互联网企业充斥着各种修改MYSQL原代码的“高端人才”。
另一方面,为什么传统企业和金融企业使用MYSQL,并让这个数据库发扬光大,是菱角的不足。
抛出互联网公司敢给钱,敢雇人的基本思想,做什么都能遇到障碍,得到改善。大量的支持和维护力量不容忽视。
传统企业在这方面远远落后,所以像MYSQL这样的数据库不容易使用。除了紧密的业务和开发方法,bulabula的架构。MYSQL使用上述企业给运维带来了很多不便。
我个人认为(可能我们需要继续改进)传统企业或者金融企业需要MYSQL的架构易于维护和使用,甚至妥协一些发展传统业务的方式。
您可以使用ORACLE RAC、数据保护、SQL服务器集群、永远在线等。至少在读写分离或者在高度密集的操作中,它基本上不会给你太尴尬的表现。MYSQL曾经是主从复制,但是为了保证主从复制的一致性,除了使用半同步这样的“单虎”之外,还有各种开发需求。在互联网上支持数百甚至数千人的开发团队拥有解决这些密集操作的技术实力。但是,传统企业没有那么多钱聘请那么多开发商和运维人员。
一个可靠的MYSQL架构尤为重要。目前,MGR作为MYSQL的一种复制或高可用方式,已经被推开。当然有问题,但至少他能为你做的是:1数据的一致性;2建造方法的简单性;3与其他方法相比,维护方法简单;有了可靠的中间件,基本上传统开发人员可以实现自己想要的读写分离,运维人员需要的FAILOVER,以及应用的透明切换。
让我们实际一点。下面是一个高可用性和读写分离的MYSQL的架构图。
其实用哪个中间件可能并不重要,但是为了更好的简化运维工作,我们其实可以用DOCKER来容器化中间件,这样可以减少中间件FAILOVER的工作量,同时节省资源(通常传统企业的流量并不大)。架构中还有一点有人想挑战,那就是为什么要用两个中间件,说实话,用一个中间件是可以的,但是这两个中间件也是考虑传统企业的开发者。你想让他把库中所有的SELECT语句全部拿走,这对他来说也是一个挑战,其中会有很多问题。这里的两个中间件为操作、维护和开发提供了缓冲。如果你想编写这个库,你应该使用一个中间件。如果只想以只读方式使用,可以访问另一个只读的中间件,对开发和运维都很友好。
这样既能满足传统企业开发运维的LEVEL,又能让部署更加简单,批量定制。同时,它也是应用程序的备用主服务器。
有些人可能会问为什么中间件不被重用。多组管理规则使用一个中间件进行故障转移是可以的。但是,如果使用DOCKER,实际上最好将它们分开。一组mgr使用自己的,这减少了耦合。出了问题就不会大规模,只会影响到相关的相应mgr。
1正常状态。
2主节点故障转移状态。
3切换后的状态。
剩下的就是实现DOCKER中间件和DOCKER FAILOVER的部署。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47512.html