分布式布局简述

 

前台服务和后台服务须要为用户提供服务,二者都要Service为其提供服务。Service在Zookeeper中注册服务,cotroller和portal在须要服务时直接在zookeeper 寻找服务。Dao层则负责服务的具体实现.数据库

  1. Dao 层作数据持久层的工做,负责与数据库进行联络的任务都在Dao层。
  2. Service 负责业务模块的逻辑应用设计。
  3. Controller 层负责具体的业务模块流程控制,调用Service 层的接口来实现控制业务流程。

使用doubbo把项目拆分后:设计模式

  1. Controller做为一个项目的消费者。
  2. Service和Dao做为服务的提供者。
  3. Zookeeper做为doubbo服务的注册中心,能够作到集群管理数据。

当Service封装到Controller中时,就是ssm设计模式。同时会使先后台都分别要有对应服务,即在同一台服务器上进行服务。而经过zookeeper能够是数据管理更有效,服务效率更高。缓存

当大量用户访问同一个互联网业务,会有不少问题:高吞吐,高并发,低延迟和负载均衡。服务器

高吞吐,即同时承载大量用户的使用。整个系统同时服务的用户数,这个吞吐量可定不是一台服务器能够解决的。因此就须要多台服务器同时协调服务。架构

高并发是高吞吐的一个延伸需求,当咱们承载海量用户时,但愿每台服务器能及其所能的工做,最好不要出现无谓的消耗和等待的状况。并发

低延时,要求咱们在大量用户访问时很快地返回计算结果。负载均衡

负载均衡,是为了有效的应对用户来源的复杂性。要让同时发生的请求有效的让多个不一样的服务器承载。分布式

产生的问题:高并发

  1. 如何利用多台服务器,不让一部分服务器影响整个系统的处理能力。
  2. 如何既可能多的处理任务,减小消耗。
  3. 请求的分拣和转发,如何尽量让请求较快获得处理。

分布式系统就是为了解决这些问题的基本方法。性能

分布式架构:

  1. 系统访问的特色遵循二八定律,即80%的业务访问集中在20%的数据上。将数据库中访问集中的一部分数据储存在缓存服务器上,减小数据库的访问次数,下降数据库的访问压力。
  2. 多台服务器经过负载均衡同时向外部提供服务,解决单台服务器处理能力和存储上限的问题。
  3. 系统上按照业务进行拆分改造,应用服务器按照业务区分进行分别部署。
  4. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
相关文章
相关标签/搜索