柔性可用和PaaS名词解释

某厨师出身的美食家说:“苏帮菜”的命根就是甜。这就是美食家和厨子的差别。哪个“苏帮菜”厨子不知道做“苏帮菜”要放糖呢?但是如果上升到上面这句话的高度,就可以是美食家了。

从码农上升到架构或者是技术主管以致部门主管也是一样,你会越来越多的和产品,和老板,和非技术的人打交道。怎么样把技术术语解释的大家都听得懂,怎么样把技术方案的优势和收益用非技术的方式表述出来,是非常重要的能力。

这就是为什么要有柔性可用和PaaS这个对技术人员来说并不陌生的“新”名词越来越热的原因。

柔性可用,是服务存在除了正常服务,和挂掉之外的第三种状态,这就是“服务降级”的另一种说法(但注意这两个词对于听众的印象而言,绝对是前者优于后者)。

腾讯微信技术总监周颢在“一亿用户增长背后的架构秘密”里面是这么描述柔性可用:在任何的系统中不要追求完美设计,追求完美设计的是团队是不能胜任海量服务的。如果在一个系统出现问题的时候,这个系统就挂了,那么这是一个不好的设计,最好的做法是提供0-1中间的选择。

个人倒认为完美主义和柔性可用是不矛盾的,做分布式的人都知道“分布式总是处在脆弱的平衡中”,以及“任何服务都是不可靠的”。因此风险控制和过载保护对分布式系统来说十分重要。指望所有服务都坚不可摧,本身就不是完美心态。

柔性可用更应该强调的是,

(1)当整体服务有崩溃风险时,可用通过“主动”停止某些服务保证核心业务正常稳定。

(2)部分依赖服务停止响应时,主业务流程有能力继续提供还能工作的服务内容。

PaaS,就是平台服务化,是Internet业务大型化复杂化的必经之路。具体实施起来,主要就是各个服务单独部署,独立提供服务。加上认证模块,则可以直接作为OpenAPI公布出来,创建你的生态圈。

可以参考我在“大型网站架构实现伸缩性的最佳实践” 中有关柔性可用(服务降级)和PaaS(独立部署和服务)策略和方法的介绍。

猜你喜欢

转载自maoyidao.iteye.com/blog/1553289