容许我先举个例子
一家小超市,一个收银员,同时还兼着干点其他的事情,例如打扫卫生、摆货。
来买东西的人多了起来,排队很长,顾客受不了了,于是增加了一个收银台,雇了一名收银员。
忙的时候收银员根本没时间去打扫卫生,超市内有点脏,于是雇了一名保洁员专门打扫卫生。
随着顾客的不断增加,超时也经过了好几次装修,由以前的一层变成了两层,这个时候所做的事情就是不断的增加收银台、收银员和打扫卫生的人。
在超市运转的过程中,老板发现了一个现象,有些收银台排很长的队,有些收银台排的人不多,了解后知道是因为收银台太多了,顾客根本看不到现在各个收银台的状况。对于这个现象,一种简单的办法就是继续增加收银台。但一方面,超市没地方可加收银台了,另一方面,老板当然想要雇更多的人,于是开始研究怎么让顾客了解到收银台的状况,简单的加了一个摄像头和一个大屏幕,在大屏幕上显示目前收银台的状况,这样基本解决了这个问题。
排队长度差不多之后,又出现了一个现象,就是有些收银台速度明显比其他的慢,原因是排在这些收银台的顾客买的东西特别多,于是又想了一招,就是设立专门的10件一下的通道,这样买东西比较少的顾客就不用排太长的队了,这一招施展后,顾客的满意度明显提升,销售额也好了不少,后来就继续用这招应对团购状况、VIP状况。
在解决了上面一些烦心事后,老板关注到一个存在已久的现象,就是白天收银台很闲,晚上则很忙,于是从节省成本上考虑,决定实行部分员工只在晚上上班的机制,白天则关闭一些收银台,顾客依然可以通过大屏幕看到哪些收银台是关闭的,避免走到没人的收银台去,实行这招后,成本大大降低了。
——摘自《淘宝技术这十年》
再看Dubbo中的关键字:服务提供者、服务消费者、集群、路由规则、动态配置、访问控制、权重调节、负载均衡。例中各角色和机制映射了dubbo中的角色和服务治理过程
- 服务提供者 收银员、保洁员
- 服务消费者 顾客
- 集群 所有收银员都提供收银功能,任何一个都可完成整个付款过程。
- 动态配置 收银员不够时随时增加收银员的数量,将特定需求的顾客统一到一个通道。
- 权重调节 为买东西比较少的人设立专门的通道。
- 负载均衡 让每个收银台排队长度差不多。
- 访问控制 白天关闭一些收银台。
所以 Dubbo是什么?
dubbo的官网是这么说的
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
dubbo就是 应用在分布式框架中用来调用远程服务和治理调用服务中产生的各种问题的框架。
看书总结,不对之处希望各位dalao指教