让facebook自愈:自动化主动机架维护 - 1

2019-03-18
阅读 3 分钟
1.5k
我们一直希望facebook的产品和服务在任何使用它的人,无论他们在世界的哪里,都能工作正常,这驱动我们主动监测和定位我们基础设施产品的问题,让我们避免可能引起百万用户在任何时间使用facebook时导致变慢或中断服务的情况。

RDS性能降低 - 复盘 - Honeycomb

2019-03-11
阅读 3 分钟
1.9k
5月3号周四, 从00:39:08 UTC(周三 17:39 PDT)我们经历了一次Honeycomb服务的大约24分钟的彻底停机。大部分服务恢复时间是2018-05-03 01:02:49,所有面向客户的服务恢复是在01:07:00。

使用Grab的实验平台进行混沌实验编排

2019-03-04
阅读 3 分钟
2k
对每个用户来说,Grab是一个可以叫车,叫外卖或付款的一个APP。对工程师来说,Grab是一个有许多服务并通过RPC交互的分布式系统,有时也可以叫做微服务架构。在数千台服务器上运行的数百个服务每天都有工程师在上面进行变更。每次复杂的配置,事情可能都会变糟。 幸运的是,很多Grab App的内部服务不像用户叫车那样的动作...

【译】混沌工程与区块链

2019-01-13
阅读 4 分钟
3.3k
混沌与工程两个字是没有什么关系的。在这篇文章,我们会探索下为什么他们会组合在一起并且应用在区块链上。第二部分我们会看到混沌工程在Hyperledger Indy的实现。我们用一个工业界不常见的缩写,混沌实验框架(chaos experimentation framework(CEF))。在这篇文章里为了使用方便,我们使用这种缩写形式。

【译】再见,面向对象编程(二)

2019-01-01
阅读 2 分钟
5.5k
乍一看,封装应该是OO编程中的第二大收益。对象的变量状态不能从外部访问,他们被封装在对象中。封装对你的变量来说很安全。封装太厉害了!直到。。。

【译】再见,面向对象编程(一)

2018-12-23
阅读 4 分钟
4.6k
Charles Scalfani 原文:[链接] 我使用面向对象语言编程已经十几年了。我是用的第一个OO语言是C++,然后是Smalltak,最后是.NET和Java。 我迫切地想从面向对象的三大支柱,集成,封装和多态上得到收益。 我急于从这个到我面前的新领地得到对于重用的承诺。 我对于将现实对象映射到类的想法非常兴奋,并希望整件事能平滑迁...

创建一种深思熟虑的文化

2018-12-09
阅读 5 分钟
1.3k
文化会自己出现。不管你是有意或无意,你的组织会有一种文化。我经常从领袖听到他们想要的文化,但与实际文化是不同的事情。这在领袖没有认真的思考去发展想要的文化,并且可能对如何创在一种他们想要的文化缺少感觉。

【译】十二因子应用(四)

2018-12-02
阅读 1 分钟
1.2k
后端服务是一种在应用在网络上正常运行时消费的任意一种服务。包括数据库(如MySQL或CouchDB),消息/队列系统(如RabbitMQ或Beantalkd),发邮件的SMTP服务(如Postfix),缓存系统(如Memcached)。

十二因子应用(三)

2018-09-09
阅读 1 分钟
1.3k
原文:[链接] III. 配置 将配置保存在环境中 应用的配置是指在各种部署(预发,线上,开发环境等)时的信息。这包括: 处理数据库,缓存或其他后端服务的资源 亚马逊s3或Twitter等外部服务的验证信息 像部署用的主机名这种预部署的值信息 应用有时将部署信息放在代码的常量中。这违反了12因子规则,规则要求将配置从代码...

12因子应用文档(二)

2018-09-02
阅读 1 分钟
1.3k
大部分编程语言提供一套分发支持库的打包系统, 比如Perl的CPAN或Ruby的Rubygems。从打包系统安装的二方库可以在系统层面(众所周知的“site packages”)或包含应用的目录区域(众所周知的“vendoring”或“bundling”)。

12因子应用文档(一)

2018-07-01
阅读 2 分钟
1.8k
原文地址: [链接] 介绍 现在软件通常交付为一个服务:可以叫web应用,或软件即服务(SaaS)。12因子是一种构建SaaS应用的方法: 用声明式的格式设置自动化,最小化新开发者加入项目的时间和成本。 与下层操作系统有清晰的契约,其与执行环境间提供最大的可移植性。 适合在现代云平台部署,消除对服务器与系统管理的需求。...

12因子应用

2018-06-10
阅读 1 分钟
1.5k
12因子应用是由PaaS提供商Heroku的Adam Wiggins提出的。Heroku已经被SaaS行业领军厂商Salesforce收购,根据维基百科的记载,同年2011年松本行弘也加盟了该公司担任Ruby首席架构师。

进化的系统需要进化的系统工程

2018-05-19
阅读 2 分钟
2.1k
在过去的几周,我们一直在反馈从我们第一次站在职场时就在变化的工业技术。我们在寻找在两个不同的但是重叠领域的变化:技术的变化与方法学的变化。我们大部分人第一次接触的系统是第一代的CS应用。它与它的上一代系统有很大不同:其通过控制台连接到一个运行在大型机或中型机的中心化应用。工程师像增强服务器一样学习...

非专业游戏CPU多核性能研究

2018-02-19
阅读 3 分钟
2.9k
作为一个专业web后端开发,非常业余游戏爱好者,普通硬件退烧者,虽然对游戏研发一窍不通,想对游戏性能的问题探讨下。 游戏性能与多核CPU的疑问 第一个问题,近几年为什么游戏主旋律都在GPU的选择上,而往往都是CPU能力过剩,难道CPU就没有压榨的空间? 先拿吃鸡游戏举例,引用一张评测文章里的CPU与显卡不同组合配置的...

JDK10 EA版特性速览

2018-02-13
阅读 1 分钟
2.1k
今天收到一封邮件组的邮件,是关于JDK 10 First Release Candidate的, JDK10 b43版将作为第一个JDK10的RC版。

老软件问题种种

2017-12-24
阅读 1 分钟
1.2k
最初关注点,业务域的约束,以及为什么在这里是这么设计的信息都没有了。通常除了原创者,接手做维护的人,没有有全面的了解,可能也没有主观意愿想让其继续更好的工作下去。

[译]集群调度架构的变革 (四)

2017-11-26
阅读 3 分钟
2.1k
混合架构 是最近出现的致力于通过组合单体或共享态的设计来解决全分布架构的缺点。一般这样做是ok的 - 比如,在Tarcil([链接] ), Mercury([链接] ), 和Hawk([链接] ) - 有两种调度路径: 一个分布式的来处理负载(如,很短的的任务,或低优先级的批处理任务), 另一个中心式的来处理其他任务。图1e展示了这种设计...

[译]集群调度架构的变革 (三)

2017-11-06
阅读 1 分钟
1.7k
全分布式架构 将分化做的更彻底,调度器间没有任何协调,并且使用许多独立的调度器来处理进入的负载,就像图 1d里面展示的。每个调度器只与他们的本地数据,通常是集群的过期数据工作。任务可以提交给任何调度器,每个调度器又会将任务放置在集群的任何位置。不像两层调度器,调度器不对隔离负责。相反,全局调度器和资...

集群调度架构的变革 (二)

2017-10-21
阅读 2 分钟
2.3k
二级调度架构 通过隔离资源获取与任务来解决这个问题。这样任务调度逻辑可以针对特定的应用,这也可以保持在集群间共享的能力。Mesos的集群管理在这方面是先驱, 同时YARN支持一部分功能。在Mesos,资源是应用级别调度器提供的(被挑选和选中),而YARN允许应用级别调度器请求资源(在返回中得到配额)。 图1b展示了基本...

集群调度架构的变革 (一)

2017-09-25
阅读 2 分钟
2k
集群调度器是现代基础设施很重要的组件,尤其在最近几年有很大发展。架构从单体应用的设计进化成更灵活,分散的,分布式的设计。但是,目前很多开源能提供的还是单体应用或缺了关键特性。这些特性对于真实世界的用户很重要,因为他们需要很高的使用率。

BLOCKED,WAITING,TIMED_WAITING有什么区别?-用生活的例子解释

2017-09-01
阅读 2 分钟
45.6k
BLOCKED,WAITING和TIMED_WAITING是很重要的线程状态,但是经常对我们造成困扰。如果需要分析线程dump必须要对其有一定的理解。使用生活的例子,本文将每个状态变成了简单的例子。

Kafka介绍

2017-08-29
阅读 2 分钟
2.1k
Kafka是运行在多台服务器上的集群。Kafka集群按目录(Topic)存储流式的数据每条记录包括键,值,和时间戳。Kafka有4个核心API:

【翻译】Mashape是如何管理15000个API和微服务的(三)

2017-07-23
阅读 3 分钟
2.5k
[链接] 伸缩挑战 在2013年的时候,当大批自运行的第三方API被加到Mashape的市场的时候我们遇到了伸缩的问题。 在2012 7月份和2013 7月份我们的API数量增长了50倍。[链接] 不止是通过我们代理的请求数量在暴涨,Mashape开始要管理比其他市场更多的API。那时,市场有3500个公开API需要他的管理。 API市场需要快速扩容。我...

【翻译】Mashape是如何管理15000个API和微服务的(二)

2017-07-09
阅读 1 分钟
2.5k
有一段时间,Mishap的架构由大约15万行java代码组成,一个真正的单体应用!但现在已经拆成了400个由不同语言组成的微服务,语言包括:Node.js,Lua,Ruby,java,Python和OCaml。 所有的东西都由API组成。

黑屏操作利器,多屏批量shell命令发送

2017-06-24
阅读 3 分钟
4.3k
当一个应用有很多人在上面开发,并被很多应用依赖时,会有个问题。开发在日常环境UI上测试的成功都依赖这个应用提供的服务,但频繁的发布造成短暂中断会阻塞流程。

【译】Envoy with Nomad and Consul (二)

2017-06-10
阅读 2 分钟
3.2k
Nomad是一个允许你将想跑的task放到集群中的调度器 - 选择跑着Nomad agent的机器。不像你可能熟悉的其他生态圈里的调度系统, Nomad既不是一个规范的PaaS,也不是一个需要你提供自己调度器的低层资源管理器。Nomad提供一个单体的调度器和资源管理器(看看Large-scale cluster management at Google with Borg [链接] 这...

【译】Envoy with Nomad and Consul (一)

2017-05-30
阅读 2 分钟
2.7k
在过去的许多年我的职业生涯一直是围绕着数据中心和平台基础设施。工作范围包括一些乏味的事情像搬运日志,也有一些令人兴奋的领域比如集群调度和动态流量路由。可以说在过去的多年里,调度,Service mesh(不好翻译,看文尾译注)和组件发现 - 与其他所有相关的工具 - 都有长足的发展, 并且会以惊人的速度继续下去。

【书摘】批判性思维工具

2017-05-21
阅读 1 分钟
1.8k
对于学龄儿童,我们经常会认为那些问题答得最快、考试卷子交的最早、测试题做的最快的学生是最“聪明”的学生,他们也因此获得更好的印象,这往往使得这些学生视自己的智力为骄傲的资本。相反,那些看起来反应相对慢的学生常常认为自己是不重要的、无能的,从而轻易地放弃了学习,他们不明白龟兔赛跑的道理。

【译】我从世界最繁忙的赌博网站学到的网站可靠性经验 - 1

2017-05-21
阅读 3 分钟
1.4k
原文:Things I Learned Managing Site Reliability for Some of the World’s Busiest Gambling Sites

【译】基础设施即代码

2017-05-01
阅读 2 分钟
2k
基础设施即代码是一种像其他软件系统一样通过源代码定义计算资源和网络基础设施的方法。代码可以被用来进行评审和反复构建([链接]) ,遵循测试实践, 完全适合持续交付([链接] 。 它是过去十年用来适应不断增长的云计算平台([链接]) 的方法,并且以后会成为处理计算基础设施的主要方法。