Skip to content

Instantly share code, notes, and snippets.

package com.rrjc.pf.common;
import java.net.InetAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* (a) id构成: 42位的时间前缀 + 10位的节点标识 + 12位的sequence避免并发的数字(12位不够用时强制得到新的时间前缀)
* 注意这里进行了小改动: snowkflake是5位的datacenter加5位的机器id; 这里变成使用10位的机器id
* (b) 对系统时间的依赖性非常强,需关闭ntp的时间同步功能。当检测到ntp时间调整后,将会拒绝分配id
*/
@xishuixixia
xishuixixia / .md
Last active March 17, 2016 01:34
集群调度框架的架构演进之路

集群调度框架的架构演进之路

标签(空格分隔): 容器 调度 架构 运维


【编者的话】集群架构是现代数据中心非常重要的组件,在最近几年中有长足发展。架构也从单体式设计转向更加灵活、去中心化和分布式设计。然而,许多现代开源实现仍然是单体式设计或者缺少很多功能,而这些功能对实际用户非常有用。本文经授权转载自DockOne社区

这篇博客是关于大型机群任务调度系列的第一篇,资源调度在Amazon、Google、Facebook、微软或者Yahoo已经有很好实现,在其它地方的需求也在增长。调度是很重要的课题,因为它直接跟运行集群的投入有关:一个不好的调度器会造成低利用率,昂贵投入的硬件资源被白白浪费。而光靠它自己也无法实现高利用率,因为资源利用相抵触的负载必须要仔细配置,正确调度。 ##架构演进

@xishuixixia
xishuixixia / mayi.md
Created September 14, 2015 08:32
Docker在蚂蚁金融云平台中的探索与实践

蚂蚁金融云是蚂蚁金服推出的针对金融行业的云计算服务,旨在将蚂蚁金服的大型分布式交易系统中间件技术以PaaS的方式提供给相应客户。在整个的PaaS产品中,蚂蚁金服通过基于Docker的CaaS层来为上层提供计算存储网络资源,以提高资源的利用率与交付速度,并用来隔离底层IaaS的不同,IaaS、CaaS与PaaS三层相互借力,互相配合。为了进一步了解蚂蚁金融云的整个体系架构,InfoQ采访了蚂蚁金服基础技术部系统组leader吴峥涛。另外,吴峥涛也是QCon上海《容器与云计算》专题的讲师,他在大会上将分享题为《蚂蚁金服金融云PaaS Docker实践》的演讲。 InfoQ:能否介绍下蚂蚁金服的金融云PaaS平台?

**吴峥涛:**金融云PaaS是从2014年中开始研发的,目前已经承载了网商银行以及另外两个核心业务,后续会以公有云和专有云两种模式对外提供。之所以会有金融云PaaS这个项目,是因为蚂蚁这些年来在大型分布式系统领域涉及的SOA、消息通讯、水平扩展、分库切片、数据一致、监控、安全等技术方向积累了大量的中间件以及与之完整配套的监控运维研发流程体系,这一切在性能和稳定性以及扩展性上做的都不错,能够有效的支撑蚂蚁的业务发展,并应对『双11』这样的高负荷挑战。很多金融客户与伙伴都对此非常感兴趣,所以我们希望能够把这一整套的技术上云并产品化,以PaaS的方式整体对外输出,帮助金融行业的客户使用云计算技术去IOE,帮助他们解决我们已经解决的技术问题,让他们能专注于业务逻辑。上帝的归上帝,凯撒的归凯撒。

InfoQ:蚂蚁金服想把自己的中间件技术以PaaS产品的形式对外输出,这中间碰到了哪些问题?为什么会想到通过Docker这样的技术来解决?

**吴峥涛:**遇到的问题有很多,最主要的问题包括:

@xishuixixia
xishuixixia / gist:fb7370fd60b9a2808db2
Last active September 1, 2015 02:27
InfoQ announced the establishment of CNUT Container Technology Club

August 28, 2015, the first CNUTCon was held in Beijing. At the conference, Kevin Huo, the founder of Geekbang & InfoQ China, announced that InfoQ joints domestic front-line IT technology companies to establish CNUT Container Technology Club in order to connect Chinese container community, promote the development and practice of container technology and open source in China. CNUT is the acronym for Container Nut. "Nut" signifies tenacity, unity and subversion in Chinese culture, which coincides with the original intention of CNUT. CNUT will start with container to promote the development of open source in China and enhance the Chinese community's right to speak.

CNUTCon is the top container technology event held by InfoQ. The purpose of the Conference is to promote the development and practice of container technology. The two-day conference mainly faces to senior technical staff who interest in container technology. The conference focuses on technology landing and is designed to help at

InfoQ:请介绍下Kitematic。

李上:Kitematic是一个Mac应用程序。它可以将Docker的安装过程自动化,并提供一个可以管理Docker容器的图形用户界面。Kitematic集成了Docker Machine来在Mac上分发一个虚拟机并安装Docker引擎。

InfoQ:当时为什么要做Kitematic?能介绍下Kitematic的发展历程吗?

李上:当Jeff Morgan、Michael Chiang和我还是加拿大滑铁卢大学工程系学生的时候,我们通过实习经验发现程序员需要更好的工具。现代网络应用程序非常复杂,而支持这些应用程序的基础设施也非常的笨拙、不方便使用或者是专卖的。我们想 变这个状况。

为了验证我们的产品,我们在Hacker News上发布了一个原型视频。我们当时的原型是一个可以与本机代码同步的云端的开发环境,24小时之内,我们就有700多个程序员【加入我们的beta】 我们当时还是学生,所以没有足够的资源运行这种服务。幸运的是我们的大学和加拿大政府给我们提供了补助金。 

@xishuixixia
xishuixixia / gist:f5d7e4d3acfe5d9b1a18
Created June 2, 2015 03:29
Hyper:基于Hypervisor的容器化解决方案

Hyper:基于Hypervisor的容器化解决方案

标签(空格分隔): Hyper Docker 容器 虚拟机


近日,初创公司VisualOps发布了他们的开源项目Hyper,Hyper是一个可以在hypervisor上运行Docker镜像的引擎,它融合了Docker容器和虚拟机的优点,旨在打造一个性能更好、更安全的引擎。Hyper与Docker的核心区别在于Hyper没有使用Container技术,而是通过VM直接运行Docker镜像,它是一个完全基于虚拟化的解决方案。

InfoQ:能简单介绍下Hyper吗?为什么你们要做Hyper? >王旭: Hyper是一个可以在hypervisor上,不安装完整操作系统,直接运行Docker Image的运行引擎。Hyper可以在hypervisor上运行一组相关的Docker Image,而不是一个,也正是Kubernetes所阐述的Pod的概念——不是一个虚机,不是一个胖容器,而是一组关联的容器。再进一步说,Hyper致力于成为一个平台中立、hypervisor中立的执行引擎,除了支持KVM/QEMU外,接下来Hyper还将会支持Xen。

@xishuixixia
xishuixixia / gist:afb56ae7d9a3aab892f6
Last active August 29, 2015 14:20
平安健康的Docker应用与实践经验

平安健康的Docker应用与实践经验


标签(空格分隔): PWorld Docker 微服务 架构


做为容器技术的代表,Docker已经逐渐获得了企业的认可。之前InfoQ就有报道过,国内的新浪微博、雪球网等互联网公司都在生产环境中成功使用了Docker。而对于一些传统公司,他们的IT设施薄弱、应用架构复杂,在拥抱Docker时,可能遇到的问题相对较多。为此,InfoQ采访了平安健康互联网技术平台资深架构师王延炯。另外,王延炯将在6月11日的PWorld 软件架构&平台创新大会上分享题为《基于Docker的开发、运维一体化实践》的主题演讲。

@xishuixixia
xishuixixia / gist:11cbfe8e9cb35403c760
Last active August 29, 2015 14:20
平安健康的Docker应用与实践经验

做为容器技术的代表,Docker已经逐渐获得了企业的认可。之前InfoQ就有报道过,国内的新浪微博、雪球网等互联网公司都在生产环境中成功使用了Docker。而对于一些传统公司,他们的IT设施薄弱、应用架构复杂,在拥抱Docker时,可能遇到的问题相对较多。为此,InfoQ采访了平安健康互联网技术平台资深架构师王延炯。另外,王延炯将在5月26日的PWorld 软件架构&平台创新大会上分享题为《基于Docker的开发、运维一体化实践》的主题演讲。

InfoQ:您认为Docker最大的优势是什么?当时公司为什么决定使用Docker?

王延炯:Docker优势有几点,首先是轻量级,其次是面向管理透明,最后是生态环境正在逐步建立、社区活跃。轻量级的容器这点,是大家都公认的优势,我不做过多解释。而面向管理透明主要是指Dockerfile与AUFS的结合,使得软件的运行环境面向开发、测试、运维团队变得透明。而Registry是平台软件云化的特征之一。另外,Docker的迅速发展,与其生态环境的蓬勃发展是相辅相成的,例如有Jenkins、Ansible等一系列面向CI以及运维友好的工具平台迅速支撑。

我们公司面向技术平台的选型,还是比较开放的,各个团队可以选择适合自己的平台,可以尝试新技术,但目的只有一个,提高公司整体的运营效率。选择Docker,一方面因为是以上提到的几个优势点,另外它也是虚拟化(如XEN/KVM)技术、容器技术两者并行发展过程中,沉淀出一套适合于公司特点本身,需要取长补短、逐步形成一套最佳实践的必经之路。

Docker技术本身还是在不断的发展之中,作为一个新技术,它的出现改变了很多原有软件研发的流程。将其应用到生产环境,第一,对大公司而言是需要公司整体进行调整,不仅仅是技术本身,还有配套的组织结构、管理制度与流程相结合;第二,Docker本身的网络、存储、监控等技术领域的关键问题还需要进一步的验证和实践,才能够将其应用到相应的生产环境。第三,生产环境的安全等级(包括稳定性要求),也是根据不同的业务等级会有不同的要求,一些低等级的生产环境,使用Docker是没有任何问题的。

InfoQ:你们的Docker应用场景是怎么样的?能介绍下你们所使用的技术栈吗?

周明采访

标签(空格分隔): 未分类


InfoQ:阿里技术保障部是一个怎么样的部分?具体负责哪些方面的工作?

**周明:**阿里技术保障部的英文名是Alibaba Infrastructure Service,从英文单词的角度来诠释我们部门的工作可能更容易理解一些。实际上,阿里技术保障部负责从IDC到服务器、网络、操作系统以及基于业务的一些应用系统的运营保障,比如双十一,同时,阿里技术保障部还负责某些基础技术的研发。从服务对象来讲,我们之前服务整个阿里巴巴的几十个部门,根据需要对它们的基础架构提供支持。现在阿里巴巴有了阿里云的业务,我们就开始对阿里云提供底层的技术支撑。

>我们团队的愿景是做技术驱动的商业基础设施服务商。【这块周总再补充下愿景的解释吧】。

周明

  1. 请您简单介绍下您自己。
  2. 阿里技术保障部是一个怎么样的部分?具体负责哪些方面的工作?
  3. 这是一个云计算的时代,据我所知,阿里很多的系统都已经放到了云上,云平台的稳定性直接决定着天猫、淘宝等多个重要系统的稳定性。您认为在云时代,云平台底层架构面临着哪些挑战?
  4. 在存储、网络等方面,阿里是如何解决的?
  5. 有人说在云计算时代,最难的部分其实是运维。您认同这个观点吗?
  6. 其实随着云计算的到来,传统运维也面临着转型,您认为传统运维需要如何转型才能为企业创造更大的价值?