• Etcd 架构与实现解析

    前一段时间的项目里用到了 Etcd, 所以研究了一下它的源码以及实现。网上关于 Etcd 的使用介绍的文章不少,但分析具体架构实现的文章不多,同时 Etcd v3的文档也非常稀缺。本文通过分析 Etcd 的架构与实现,了解其优缺点以及瓶颈点,一方面可以学习分布式系统的架构,另外一方面也可以保证在业务中正确使用 Etcd,知其然同时知其所以然,避免误用。最后介绍 Etcd 周边的工具和一些使用注意事项。

    阅读对象:分布式系统爱好者,正在或者打算在项目中使用Etcd的开发人员。

    Etcd 按照官方介绍

    Etcd is a distributed, consistent key-value store for shared configuration and service discovery

    是一个分布式的,一致的 key-value 存储,主要用途是共享配置和服务发现。Etcd 已经在很多分布式系统中得到广泛的使用,本文的架构与实现部分主要解答以下问题:

    1. Etcd是如何实现一致性的?
    2. Etcd的存储是如何实现的?
    3. Etcd的watch机制是如何实现的?
    4. Etcd的key过期机制是如何实现的?
    Read more...
  • Elasticsearch 架构以及源码概览

    Elasticsearch 是最近两年异军突起的一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建。最近研究了一下,感觉 Elasticsearch 的架构以及其开源的生态构建都有许多可借鉴之处,所以整理成文章分享下。本文的代码以及架构分析主要基于 Elasticsearch 2.X 最新稳定版。

    Read more...
  • Mesos 架构以及源码浅析

    Mesos 按照官方的介绍,是分布式操作系统的内核。目标是 ”Program against your datacenter like it’s a single pool of resources”,即可以将整个数据中心当做一台电脑一样使用。可以说这个目标是所有宣称自己是DCOS的系统的共同目标,本文从架构和源码层面分析Mesos以及周边框架,看看Mesos是如何实现这个目标的,当前距这个目标还有多大差距。最后比较了一下Mesos和Kubernetes这两个都受Google的Borg影响的系统的异同。

    阅读对象:对Mesos或者分布式系统感兴趣的技术人

    Read more...
  • 并发之痛 Thread,Goroutine,Actor

    本文基于我在2月27日Gopher北京聚会演讲整理而成,进行了一些补充以及调整。投稿给《高可用架构》公众号首发。

    Read more...
  • 依赖管理工具漫谈--从Maven,Gradle到Go

    本文从Maven谈起,分析了Maven的主要思想以及Gradle对Maven的改进,最后谈了下Go语言面临的依赖管理问题。

    Read more...
  • 年终盘点之国内IaaS云个人使用体验报告

    都说2015年是国内云计算元年,对我个人来说,2015年也是本人正式全面接触云服务的元年。

    本文仅从个人角度分析当前国内主流IaaS云的使用体验,主要从各云厂商提供的功能抽象,管理后台,付费机制等方面进行分析,不包括以下方面内容:

    1. 性能对比测试
    2. 故障率以及稳定性比较

    要做这两方面比较太耗费精力,需要做长期的监控观察,非个人可以完成的事情。另外本文仅仅代表个人的使用体验,主要包括以下云:AWS(国际/国内),阿里云,UCloud,青云,腾讯云。其他的云未使用过,不做评价。

    Read more...

subscribe via RSS