(1)数据库程序与数据分离如果使用Docker 跑 MySQL,数据库程序与数据需要进行分离,将数据存放到共享存储,程序放到容器里。如果容器有异常或 MySQL 服务异常,自动启动一个全新的容器。另外,建议不要把数据存放到宿主机里,宿主机和容器共享卷组,对宿主机损坏的影响比较大。(2)跑轻...
本次的交流重点围绕数据库容器化部署在PaaS平台上难点交流,交流答疑的内容在社区平台上均可看到:https://www.talkwithtrend.com/activity/?id=1659。方案资料参考:2020容器云职业技能大赛架构岗获奖作品:多数据中心高可用数据库容器化部署方案交流汇总1、数据库容器化部署在...
(more)比如TIDB,融合了关系型数据库和非关系型数据库的技术特性,实现了高度兼容MySQL协议和生态、在线水平扩展、强一致分布式事务、多副本数据安全、实时分析等重要特性
为了提升数据库容器化时的网络性能,一般可以采用网络性能和宿主机一致的 HostNetwork 方式来实现,如果在某些公司或者公有云环境下,出于安全考虑不允许该模式的话,建议采用 calico 的 BGP 模式,但这个也受限于单个子网段,BGP如果要跨网段通信,由于不是采用传统的 overlay...
容器化,本质上是对运行在宿主机上的线程(容器本身就是一个线程)限制了CPU/MEM等资源(使用 cgroups),并给它一个隔离空间(用 namespace来实现),所以只要不特别限制资源上限,基本和非容器化的效果是一样的。而数据库一般是自身实现数据的一致性保证,也包括一些中间件服务,比如 redi...
不建议进行数据库容器化,如果实在需要,分布式存储要搞定,mysql-operator搞定高可用
容器化后,更大的问题是IO的争用,而非数据量的大小。数据量是看你存储大小限制(建议500G内),但是IO频繁的数据库不适合放在同一个容器的宿主机中。
1.数据不安全即使你要把Docker数据放在主机来存储,它依然不能保证不丢数据。Dockervolumes的设计围绕UnionFS镜像层提供持久存储,但它仍然缺乏保证。使用当前的存储驱动程序,Docker仍然存在不可靠的风险。如果容器崩溃并数据库未正确关闭,则可能会损坏数据。2.运行数据库的环...
(more)