Google分布式三大论文-Bigtable

承接上篇GFS的描述,本篇文章记录关于分布式存储系统Bigtable的理解。首先借鉴官方描述它是分布式存储系统,可以支持扩展到PB级别的数据,包含数千个商业服务器。Google的许多项目都存储在BigTable中,包括WEB索引、Google Earth 和Google Finance中的海量数据。这些应用对BigTable提出了截然不同的需求,无论是从数据量(从URL到网页到卫星图像)而言,还是从响应速度(从后端批量处理到实时数据服务)而言,尽管面对多种不同挑战,BigTable已为所有的Google产品提供了一个灵活的、高性能的解决方案。论文中主要描述了BigTable提供的简单数据模型,它允许客户端对数据部署和格式进行动态控制,同时讲述了BigTable的设计和实施。


Google分布式三大论文-GFS

应对日益增长的数据,无论是Google还是各大厂商,甚至是个人用户GB的文件已经是很轻松的事情,而对于这么大体量的公司面对的挑战更是很多,包括但不限于

  • GB甚至TB、PB级的文件已经是常态;无论单个文件还是KB文件达到这个大小,对于系统都是不可小觑的挑战
  • 大量的硬件面临频繁的读写、计算出错、报废率再小也不可忽视
  • 绝大部分文件的变更是采用在追加新数据
  • 通过增加灵活性,应用程序和文件系统API的协同设计对整个系统有益

一个基本的常识就是为了防止单点问题,我们不可能将一份文件只存在一台物理机单块硬盘的角落里,那么多台分布在各处的服务就需要对外提供服务,从文件本身到服务的思路,文件系统需要解决包括怎样同步、分片、大文件如何读写;服务如何保证对外提供的都是健康有效呢等一些列问题?下面来看工程师们是怎么考虑的

Continue reading Google分布式三大论文-GFS

Docker容器健康检查方案

因为最近开发的服务打包进入docker容器,自然而然的需要对容器进行健康检查,在网上看了相关文章,整理如下。分析来看,我们进行健康检查大致分为检查对外api是否可用、内部服务是否正常运行,也就是可以从模拟调用自身服务和查看容器内的进程来检查。

模拟调用倒是想对来说较为简单,只需get容器ip,发送请求即可,而如果是检测进程是否存在,直接

docker exec -i CONTAINERID  sh -c "ps -ef"

虽然可行,but。。。 这一点技术含量都没有
这里有个需要注意的点,可能会触发错误 cannot enable tty mode on non tty input
如果使用

ssh root@remoteip docker exec -it CONTAINERID sh -c "ps -ef"

会出现错误,因为-t参数是需要tty的,直接用-i即可
Continue reading Docker容器健康检查方案

about me

StarStudio + AliPay + DevOps

What You Read Build U