Springboot2+Dubbo2.7代码示例

mtain 2019年10月15日 338次浏览

Dubbo

简介

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

RPC:远程调用

REST与RPC比较

RESTRPC
通信协议http一般使用TCP
性能较低
灵活性
  1. RPC的接口调用更像是本地的类调用
  2. 同一个微服务内部使用RPC,外部使用REST

节点角色

用途服务选择
Registry服务注册中心,服务注册与发现Zookeeper,Multicast,Nacos
Provider生产者,服务的提供方
Consumer消费者,服务的调用者
Monitor服务监控中心,统计服务调用间的日志服务
Admnin服务测试,服务治理(路由,黑白名单,负载均衡)

项目说明

版本

Spring-boot 2.1.0
Dubbo 2.7.3
Dubbo Admin 0.2.0

模块

模块用途
dubbo-demo-interface生产者和消费者共用的接口定义
dubbo-demo-provider服务生产者
dubbo-demo-consumer服务消费者

简述

生产者,消费者都可以启动多个实例,通过ZK将其组织在一起(集群数据存储),Dubbo对服务间的点对点调用进行协调

服务化最佳实践

https://dubbo.apache.org/zh-cn/docs/user/best-practice.html

服务治理文档
https://dubbo.apache.org/zh-cn/docs/admin/serviceGovernance.html

项目启动过程

  1. zookeeper启动,并配置到配置文件中
  2. 启动Provider
  3. 启动Admin,浏览器访问,可以看到注册的服务
  4. 启动Consumer,浏览器访问,触发服务调用

**代码地址:**https://gitee.com/mtain/springboot-dubbo-demo