分布式应用对业务逻辑复用的需求十分强烈。上层业务都想借用底层服务,来搭建更多、更丰富的应用。
将公共业务拆分出来,形成可共用的服务,最大程度的保障代码和逻辑的复用,这种设计成为SOA(面向服务架构)。
在SOA中,服务消费者通过服务名称,在服务列表中找到需要调用的服务,这称为服务的路由。
而对于负载较高的服务,往往对应着一个集群。当请求到来的时候,为了将请求均衡的负载到合适的服务器,负载均衡程序将通过
相应的规则,将选取一台服务器进行访问,这个过程被称为负载均衡。
当负载较小时,可以依赖硬件负载均衡设备,或者使用nigx等软件方案进行调度。一旦服务规模越来越大,这些方案都会逐渐
出现瓶颈,单点故障的问题也越来越明显。
另一种方案是服务配置中心,它能够动态注册和获取信息,来统一管理服务名称和该服务对应的服务器列表。
比较成熟的工业化解决方案是ZooKeeper,关于ZooKeeper的更多讨论,将在以后说明。