dubbo实战之一:准备和初体验
欢迎访问我的GitHub
内容:所有原创文章分类和汇总 , 及配套源码 , 涉及Java、Docker、Kubernetes、DevOPS等;
关于dubbo
- Apache Dubbo (发音?d?b??) 是一款高性能、轻量级的开源Java RPC框架 , 它提供了三大核心能力:面向接口的远程方法调用 , 智能容错和负载均衡 , 以及服务自动注册和发现;
- 以下是来自官方的架构图:
文章插图
版本简介和选定
- 截止写此文时 , Dubbo 社区主力维护的有 2.6.x 和 2.7.x 两大版本;
- 2.6.x 主要以 bugfix 和少量 enhancements 为主 , 因此能完全保证稳定性;
- 2.7.x 作为社区的主要开发版本 , 得到持续更新并增加了大量新 feature 和优化 , 同时也带来了一些稳定性挑战;
- 综上所述 , 《dubbo实战》系列选择了社区推荐的2.7.6版本 , 这是2.7系列的稳定版;
- 操作系统:macOS Catalina 10.15.5
- JDK:1.8.0_121
- maven:33.3.9
- 开发工具:IntelliJ IDEA 2019.3.2 (Ultimate Edition)
本篇概览
- 作为《dubbo实战》系列的开篇 , 本文的主要内容如下:
- 创建整个《dubbo实战》系列的父工程;
- 创建整个《dubbo实战》系列的公共二方库;
- 初步体验dubbo框架 , 为了简单 , 本篇的实战暂不使用注册中心 , 而是服务提供方启动时广播自己的地址 , 再由消费方启动时订阅 , 并随时远程调用 , 调用逻辑如下图所示:
文章插图
- 先创建一个提供远程服务的子工程 , 名为helloxmldirectprovider , 并运行起来;
- 再创建名为helloxmldirectconsumer的子工程 , 运行起来后 , 会调用helloxmldirectprovider提供的远程服务 , 将远端返回的内容打印出来;
- 接下来开始编码;
- 如果您不想编码 , 可以在GitHub下载所有源码 , 地址和链接信息如下表所示():
文章插图
- 这个git项目中有多个文件夹 , 本章的应用在dubbopractice文件夹下 , 如下图红框所示:
文章插图
- dubbopractice是父子结构的工程 , 本篇的代码在helloxmldirectprovider和helloxmldirectconsumer这两个子工程中 , 如下图:
文章插图
《dubbo实战》系列的父工程
- 为了方便管理《dubbo实战》系列的代码和依赖库版本的管理 , 这里创建名为dubbopractice的父maven工程 , 整个系列的后续源码都会作为它的子工程;
- dubbopractice的pom.xml内容如下:
practiceinterface helloxmldirectprovider helloxmldirectconsumer springbootzkprovider springbootzkconsumer springbootmulticastprovider
- 7GB/S的极速狂飙,这可能是目前最快PCIe4.0 SSD之一了
- 在谷歌算法更新之后2020年盗版网站流量锐减三分之一
- 20款游戏实战!酷睿i7-10750H、锐龙9 4900H到底谁更强?
- 项目实战 | 记一次对某猥琐PHP后门的爆菊
- 世界物联网大会:中国物联网产值占全球四分之一,5G用户占全球85%
- Redis集群做法的难点,百万并发客户端「实战」
- GTC DLI 实战培训第一课:理论与实践入门
- 微软成为最新加入亚马逊“气候承诺”倡议的公司之一
- 曾是国产四大品牌之一的联想为何会没落?原来是公司内部出了问题
- LeetCode 刷题之一(查找常用字符)