之前在前一篇的文章谈到了mq在项目中的使用,当然在分布式项目中,需要配合dubbo的分布式框架,进行分布式治理。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,如果项目中不是分布式的话,可以不使用,但也可以使用,个人的理解啊,我感觉项目中最好把服务单独提取出来,这样有利于维护,所以说dubbo的使用也是必须的。说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)。
dubbo架构图如下所示:

再上一张dubbo在各个平台之间的调用与关系,例如手机端,桌面程序,web端等等都可以调用dubbo子系统为其提供数据:

节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
1 服务容器负责启动,加载,运行服务提供者。
2. 服务提供者在启动时,向注册中心注册自己提供的服务。
3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
上面大致介绍了dubbo的架构,节点的说明以及提供者和消费者之间的调用关系。我们经常遇到的电商网站大多数之前是单一的架构,比如说,首页,下单页,支付页,单点登录功能等等,它们都在同一个系统中,这样在以后业务的增加,使得在开发过程中,占用的资源越来越多,使得维护起来越来越难维护。

把公共的业务提取出来使得系统之间的耦合度降低,在开发过程分工明确,系统维护起来也变得容易。分布式系统的服务治理框架就出现了,dubbo也应运而生。

1 首先引入dubbo,zookeeper的jar包
2 创建服务接口和服务接口的实现类,以及dubbo的服务提供者的配置
//监控的配置
3 读取配置文件
我们需要在web.xml中将配置文件引入:
contextConfigLocation
classpath:dubbo/dubbo-*.xml
4 配置消费者

以上就是我在项目中使用dubbo的具体操作和个人的理解,有不足之处,请多指教!
















