我在 CentOS 上使用 docker 与 Ubuntu 上性能有什么差别,或者说 Docker 使用 AUFS 与 DeviceMapper 作为存储驱动会有什么不同?

简单说,在某些场景下,DeviceMapper 的性能是要比 AUFS 差的,而在另一些场景下,反之。但无论是 DeviceMapper 还是 AUFS,亦或者是其他的 docker 存储驱动,它们严重影响到了容器性能是有前提条件的,那就是应用在频繁,或者说相对频繁的读写容器里面的文件系统。而这在实际的软件开发实践中,几乎是不可能,或者说完全可以规避掉的情况。首先,对于web 应用或者其他非存储型应用来说,它们一般会把数据存储到数据库中,所以,不会出现频繁读写容器里文件系统的情况;其次,如果应用需要频繁的读写本地文件系统,譬如把日志写到本地,或者Mysql存储到本地目录,对于这种情况,docker官方以及大家集体认同的方式是通过 docker -v 挂载数据盘来使用原生的系统文件驱动。从而这也就不会有什么太大了性能影响了。

| Jan 22, 2016 | docker

spark FAQ -- Mesos的集群调度与管理(实录)

大家好,这里首先跟大家聊一些分布式系统的知识,然后说些我们搭建的Spark平台。分布式系统的原则: 可伸缩性, 没有单点失效, 高可靠性,数据本地性。 这是很常见的分布式系统的基本原则。这个大家可以参考王总以前的一篇 CSDN文章

| Dec 19, 2015 | spark

how to test apps denpendency in distributed system

https://github.com/vitan/nginx-log-request-body

| Dec 19, 2015 | nginx

booklist

Books I’ve ever and will read, some intesting papers also

| Dec 12, 2015 | books

使用 docker-compose 进行单机微服务开发环境集成的实践

最近在做一个云管理平台,产品初期我们就已经决定使用 docker 容器技术来进行开发环境隔离,以及产品的持续交付部署等,同时也参考了微服务架构的思想,将产品拆成了各个微服务模块。其中涉及到的模块除了标准的 MySQL, Nginx, Redis, RabbitMQ 外还包括了团队开发的 auth, cluster, app, metrics, agent,streaming 和 frontend 等数个模块, 摊子铺得有点儿大。并且不同的模块团队成员在使用 Python,Golang,JS 等不同的开发语言, 随之带来的一个问题就是开发人员如何快速高效的在本地机器将这一套环境搭起来,毕竟要求每个工程师熟悉产品的所有模块的配置是不现实的,另外对于前端工程师来说,他们也没有必要花精力在后台的搭建上。

| Nov 01, 2015 | docker-compose micro-service integration-testing

配置 git 使得本地无缝 push/pull 跳板机后内网的 repo

单刀直入,如果公司选择公有云作为开发/生产环境,我们的代码库譬如 gitlab, 往往会部署到内网的某台 node 上,同时,我们又想在本地自己的笔记本上进行开发,大致架构如下图所示。

| Aug 02, 2015 | ssh git

如何使用Marathon发布docker应用到Mesos集群

录制了一个小视频,是关于通过Marathon发布ghost(包在docker里了)到Mesos集群,并通过配置Bamboo来让公网用户可用。通过marathon发布ghost到mesos集群 密码: du6k

| Jun 09, 2015 | Mesos Marathon

基于Jenkins, Apache Mesos和Marathon的弹性高可用的持续集成环境(下篇)

基于Jenkins, Apache Mesos和Marathon的弹性高可用的持续集成环境(上篇), 探讨了利用 marathon/Mesos 管理Jenkins集群的整个架构流程,以及如何一步步配置 Jenkins Master 来将其注册成为 Mesos 的 Framework 。本篇博客,我们主要解决Jenkins Master的数据持久化问题,marathon会在Jenkins Master因意外崩溃后重新部署其到某个mesos slave节点上,但marathon无法维护应用程序的数据,即我们需要一个 Jenkins Master 的数据持久化方法,由于Jenkins Master是将数据存储在XML文件而不是数据库中,这里可以利用jenkins插件SCM Sync configuration plugin来将Jenkins Master的数据同步到相应的repo。

| May 31, 2015 | Jenkins Mesos CI auto-scaling

Keywords of Distributed System

CAP Theorem

| May 23, 2015 | distributed system

基于Jenkins, Apache Mesos和Marathon的弹性高可用的持续集成环境(上篇)

持续集成(CI)是一种软件开发实践,使用得当,它会极大的提高软件开发效率并保障软件开发质量;Jenkins是一个开源项目,它提供了一种易于使用的持续集成系统;Mesos是Apache下的一个开源的统一资源管理与调度平台,它被称为是分布式系统的内核;Marathon是注册到Apache Mesos上的管理长时应用(long-running applications)的framework,如果把Mesos比作数据中心kernel的话,那么Marathon就是init或者upstart的daemon。

| May 12, 2015 | Jenkins Mesos CI auto-scaling

Implement full permutation in Python

算法题,利用Python实现一个全排列算法。要求:

| Dec 11, 2014 | Algorithm python

Implement python stack in which the operation push/pop/max must match O(1) time complexity

直入主题,在python下利用list实现一个stack,要求操作push/pop/max的时间复杂度为O(1)。 问题的关键是怎么保证stack.max()的时间复杂度是O(1),这里程序维护了一个__max的list:

  • 在push操作时,会比较__max最后一个值与将要压入的值的大小,大于等于 则append到__max中
  • 在pop操作时,会比较__max最后一个值与弹出的值的大小,等于则remove掉__max[-1]

| Dec 09, 2014 | algorithm python

Different solutions of getting max prime in the given range

Challenged again and again by the interviewers since my poor solution of algorithm >_<. here I am coding out the solutions of getting max prime in the given range.

| Dec 07, 2014 | Algorithm Python

Docker Research

Docker是一个自动化分布式系统:大规模的Web部署、数据库集群、持续部署系统、面向服务的体系结构等。

| Aug 16, 2014 | Docker LXC cgroup

Implementation of Inheritable Object-level Permission of Django

Struggled out of a Django-based project recently, I’d like to post such rather generic function Implementation of Inheritable Object-level Permissions, while I am always trying to improve it still. First of all, as I said, I didn’t research what others have done on this before I started my implementation, well, in fact, I feel hard to clearly describe the requirement and google it.

| Jul 28, 2014 | Django python

Best Practical of Django

As a heavy user of Django, here I’d like to share some experiences based on my own Django working practice.

| Jul 17, 2014 | Django python

rhel6 simplest mail server deployment using postfix for MTA and dovecot for MDA

A simplest mail server deployment doc presents smallest config using postfix for MTA, dovecot for MDA and Evolution for MUA, which DONOT need DNS setting. I am using such virtual machine as a test/devel-server for project development.

| Jul 15, 2013 | MTA MDA Thunderbird SMTP

rhel6 apache deploy

A simple deploy document which covered apache, django project, wsgi, rhel6.

| Jun 27, 2013 | apache django wsgi