pringBoot+Dubbo 搭建一个简单的分布式服务

地址

什么是 Duboo?

Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。简单来说 Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

Dubbo 架构

  • Provider 暴露服务的服务提供方
  • Consumer 调用远程服务的服务消费方
  • Registry 服务注册与发现的注册中心
  • Monitor 统计服务的调用次数和调用时间的监控中心
  • Container 服务运行容器

调用关系说明:

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

主要可以从 Dubbo 提供的下面四点特性来说为什么要用 Dubbo:

  1. 负载均衡——同一个服务部署在不同的机器时该调用那一台机器上的服务
  2. 服务调用链路生成——服务之间互相是如何调用的
  3. 服务访问压力以及时长统计——当前系统的压力主要在哪里,如何来扩容和优化
  4. 服务降级——某个服务挂掉之后调用备用服务

1 :zookeeper 环境安装搭建

2. 启动测试

实现服务接口 dubbo-interface

主要分为下面几步:

  1. 创建 Maven 项目;
  2. 创建接口类
  3. 将项目打成 jar 包供其他项目使用

1. dubbo-interface 项目创建

2. 创建接口类

3. 将项目打成 jar 包供其他项目使用

3 :实现服务提供者 dubbo-provider

主要分为下面几步:

  1. 创建 springboot 项目;
  2. 加入 dubbo 、zookeeper以及接口的相关依赖 jar 包;
  3. 在 application.properties 配置文件中配置 dubbo 相关信息;
  4. 实现接口类;
  5. 服务提供者启动类编写

实现服务消费者 dubbo-consumer

主要分为下面几步:

  1. 创建 springboot 项目;
  2. 加入 dubbo 、zookeeper以及接口的相关依赖 jar 包;
  3. 在 application.properties 配置文件中配置 dubbo 相关信息;
  4. 编写测试类;
  5. 服务消费者启动类编写
  6. 测试效果

最新文章

  1. linux提取指定字符的行列并生成新文件(awk命令)
  2. C++ create_task详解
  3. 初识ASP.NET CORE:三、Middleware
  4. css超出2行部分省略号...
  5. JAVA CAS原理深度分析
  6. unity3d 多人寻路堵塞堆叠问题
  7. unity3d 之本地推送
  8. JavaBean实现用户登陆
  9. C# - 为值类型重定义相等性
  10. bootstrap浅谈
  11. oracle DML语句
  12. python21期day01笔记总结
  13. C++ 实现 split 操作
  14. hdu4048
  15. js-ES6学习笔记-Iterator
  16. 007.LVM查看命令
  17. HDFS文件操作
  18. Perfect Groups CodeForces - 980D
  19. NC入门笔记
  20. 【eclipse修改默认注释】

热门文章

  1. Linux中命令别名alias与命令替换
  2. DNS简单搭建
  3. 日期和时间(datetime模块)
  4. Luogu P5354 [Ynoi2017]由乃的OJ
  5. 引入DDT
  6. idea 去除重复代码提醒
  7. redis 学习(4)-- 哈希类型
  8. python:map 函数
  9. python进阶资源
  10. 关于rpm包的安装卸载等