在容器使用过程中如何保证数据安全及数据一致性?

在容器使用过程中如何保证数据安全及数据一致性?

参与14

3同行回答

ibmwangfeiibmwangfei  系统工程师 , IBM
容器技术本身没有提供保证数据安全性和数据一致性的机制,数据安全性和数据一致性是我们在设计一个容器云平台的持久化存储时所需要着重解决的问题之一,需要利用后台的存储设备和相关软硬件技术来实现。...显示全部

容器技术本身没有提供保证数据安全性和数据一致性的机制,数据安全性和数据一致性是我们在设计一个容器云平台的持久化存储时所需要着重解决的问题之一,需要利用后台的存储设备和相关软硬件技术来实现。

收起
金融其它 · 2018-05-04
浏览1570
caikaicaikai  系统架构师 , KYLERC
数据一致性问题并不是引入容器使用才导致的。数据一致性问题是任何分布式系统都面临的问题。容器并不导致数据一致性问题,而是因为容器上运行了分布式的业务,比如一个事务跨了多个微服务;或者使用了分布式的资源,比如需要更新多个数据副本,才会导致数据一致性问题。有关数据一...显示全部

数据一致性问题并不是引入容器使用才导致的。数据一致性问题是任何分布式系统都面临的问题。
容器并不导致数据一致性问题,而是因为容器上运行了分布式的业务,比如一个事务跨了多个微服务;或者使用了分布式的资源,比如需要更新多个数据副本,才会导致数据一致性问题。

有关数据一致性问题的讨论已经持续了多年,相关的理论和实践经验也都同样适用于容器使用。在不同的语境下,分布式数据一致性有两种不同的含义,相应的关注内容和技术方案是不同的:

  • 多个相关联的数据分片分布在不同的服务器上,对这些数据分片的操作要么全部成功,要么全部失败。这种场景下要求多个数据分片上进行协调一致的操作,防止数据更新出现部分成功、部分失败的混乱的情况
  • 同一个数据分片的多个副本分布到不同的服务器甚至数据中心,这种场景关注的是多个数据分片的数据内容如何取得一致

对于第一种情况,需要把对多个数据分片的操作放在一个ACID事务中进行操作,交易中间件中的2阶段提交就是针对此类需求的。具体到容器使用时,我们应当在划分微服务边界时,避免把一个事务内的操作划分到不同的微服务中。跨微服务的事务协调成本和难度相当高,我们应当尽量避免;而在一个微服务内的事务协调,可以借助事务交易中间件来帮忙。

对于第二种情况,如何进行多个数据分片之间的同步,可能是强一致性,也可能是最终一致性。对于强一致性,根据CAP原理,分布式系统的强一致性必须导致牺牲可用性为代价。具体到容器使用时,我们尽量避免用容器运行要求强一致性的场景,而尽量选择能接受最终一致性的工作负载,而底层的数据同步,可以借助基于raft协议的方案,例如etcd。

收起
银行 · 2018-05-06
浏览1504
StevenSteven  IT顾问 , steven
数据安全和数据一致性和使用不使用容器关系不大,我们觉得是两个层面的问题需要考虑的是容器中数据如何能持久化保存的问题。因为容器销毁,容器中数据也就不存在了。所以要使用容器,为了数据不丢失,就需要考虑把数据存储于容器外部,比如宿主机磁盘,或者远程存储。...显示全部

数据安全和数据一致性和使用不使用容器关系不大,我们觉得是两个层面的问题
需要考虑的是容器中数据如何能持久化保存的问题。因为容器销毁,容器中数据也就不存在了。所以要使用容器,为了数据不丢失,就需要考虑把数据存储于容器外部,比如宿主机磁盘,或者远程存储。

收起
证券 · 2018-05-03
浏览1484

提问者

吴宣
系统运维工程师中国银行

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-05-02
  • 关注会员:4 人
  • 问题浏览:4509
  • 最近回答:2018-05-06
  • X社区推广