Spring boot + dubbo架构

1、Dubbo简介

  • 一个分布式服务治理框架。当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

  • 当项目庞大比并且服务需要多次重复性的调用时,就需要一个框架来治理,dubbo可以做到的效果就是通多xml文件配置,达到一次提供,到处调用的效果,并且和可以对服务的提供者和消费者进行管理;就是将提供服务的Api打包到服务器,同时注册到注册中心(zookeeper),需要调用此服务的只需依赖服务器上的jar包,配置消费者服务即可调用Api。

Spring boot + dubbo架构_第1张图片
  • provider 服务的提供方

  • consumer 服务的消费方

  • registry 注册中心(可以对提供方和消费方统一管理)

  • monitor 统计中心

  • container 运行容器

  • 调用关系说明:

    • 服务容器负责启动,加载,运行服务提供者。
    • 服务提供者在启动时,向注册中心注册自己提供的服务。
    • 服务消费者在启动时,向注册中心订阅自己所需的服务。
    • 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
    • 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
    • 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

2、如何集成Dubbo到Spring boot 中。

Spring boot + dubbo架构_第2张图片
  • 一 、首先创建服务的提供者
    一般的我们都会将API单独抽离出来作为单独的 jar.这里我们也采用这种方式。

    • 1、在Dubbo-api工程中,仅存放接口文件,并在pom.xml文件中定义它的父工程。
    Spring boot + dubbo架构_第3张图片
    • 2、在Dubbo-provider项目中引入dubbo和dubbo-api文件。


      Spring boot + dubbo架构_第4张图片
    • 3、Dubbo服务生产者文件配置。
      simple-dubbo-provider.xml

      Spring boot + dubbo架构_第5张图片
    • 4、实现接口定义方法。提供相应的服务返回数据。

    Spring boot + dubbo架构_第6张图片
  • 二、创建服务的消费者

    • 1、构建Dubbo-consumer消费者,配置pom.xml文件,引入依赖

      Spring boot + dubbo架构_第7张图片
    • 2、spring-boot-dubbo.xml文件配置

    Spring boot + dubbo架构_第8张图片
    • 3、消费服务响应的方法

      Spring boot + dubbo架构_第9张图片
  • 三、启动服务提供者和服务消费者。访问 127.0.0.1:8080/index 结果如下

    Spring boot + dubbo架构_第10张图片

3、总结

Spring boot + dubbo架构_第11张图片
  • 通过提供方提供服务到注册中心,消费方通过配置到注册中心上取到该服务,再进行消费(调用),即可达到不同项目之间的相互调用,也验证了分布式管理的意义,此处只是一个简单的小例子,在实际项目运用中,这种模式加上这个框架的好处会更加明显。

微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。

你可能感兴趣的:(Spring boot + dubbo架构)