别的RPC框架gRPCHSF..dubbo的前世今生
远程过程调用
HSF
...
dubbo的前世今生
公司内部一直使用Dubbo作为框架。
2011年dubbo托管于互联网(开源)
2014年11月2.4.11版本发布后,宣布停止更新。 一段时间后,不少公司基于Dubbo开源了自己的变种版本(如当当网的Dubbo X、网易考拉的Dubbo K)
它诞生于2017年,Dubbo感受到了压力,连续更新了多个版本。 2018年1月,阿里巴巴和当当网合并了Dubbo和Dubbo X,发布了2.6版本。 2018年除夕夜,阿里巴巴向基金会贡献了Dubbo。
2018年除夕至今,维护更新Dubbo
视频讲解来了! ! !可直接点击观看
本套视频由 Power Node 制作,内容涵盖:
在线观看:
下载:
达博概述
Dubbo () |ˈdʌbəʊ| 是一个高性能、轻量级的开源Java RPC框架,提供三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、自动服务注册和发现。
Dubbo是一个分布式服务框架,致力于提供高性能、透明的RPC远程服务调用方案和服务治理方案。
官方网站:
特征:
面向接口的代理:调用接口方法淘宝分布式框架 dubbo,在服务器A上调用服务器B的方法,dubbo实现对B的调用。不需要关心实现的细节,就像访问Dao接口,操作Dao接口一样数据库。 不用担心Dao接口方法的实现。 这样开发方便又舒服。
基本架构
调用关系说明:
dubbo支持的协议
支持多种协议:dubbo、rmi、http、、、、、redis。 Dubbo官方推荐使用Dubbo协议。 Dubbo协议默认端口20880
使用dubbo协议,添加配置文件:
电商平台需求
某电商平台的系统需求:用户浏览商品; 选择要下订单的产品; 订单系统需要获取用户信息中的收货地址; 并请求支付系统完成支付。
直连方式dubbo
点对点直连项目:消费者直接访问服务提供商,无需注册中心。 消费者必须指定服务提供商的访问地址(url)。
消费者直接通过URL地址访问固定服务提供商。 该url地址不变。
目标
用户访问------>【商品网站服务】访问----->【订单服务】
实现方法
例如,服务提供者和服务消费者都是项目
(1)创建服务提供者:订单服务
A.创建新的java
项目名称:
关联 -
设置为 1.0.0
B、maven pom.xml
以下
标签中添加JDK1.8编译插件
C.创建订单实体类:Order
D、新建订单服务接口:
E.创建新接口的实现类:
F、创建dubbo配置文件
-.xml
G.测试配置文件
H. 将本地jar安装到maven仓库中
服务接口中的方法必须被消费者使用,消费者项目需要知道接口名称以及接口中的方法名称和参数。 这只有信息服务提供商知道。 接口的class文件需要打包成jar。
将服务接口项目的class文件打包为jar并安装到maven仓库中。 仓库中的 jar可供消费者使用。
使用IDEA的maven窗口执行
(2)创建服务消费者:产品网站
一、新建java
项目名称:link-main-web
J.maven pom.xml
以下
标签中添加JDK1.8编译插件
K. 创建产品购买接口
L.创建购买接口的实现类
M.创建dubbo配置文件
商店-.xml
N. 执行消费者
dubbo 服务化最佳实践
分包合同
建议将服务接口、服务模型、服务异常等放在公共包中。
粒度
服务接口应该尽可能大。 每个服务方法应该代表一个功能,而不是某个功能的一个步骤。 建议将服务接口划分为业务场景,抽象相似的业务,防止接口数量爆炸。
不建议使用过于抽象的通用接口,例如地图查询(Map)。 此类接口没有明确的语义,会给后期维护带来不便。
版本
每个接口都应该定义一个版本号淘宝分布式框架 dubbo,以区分同一接口的不同实现,例如: 。
本站对作者上传的所有内容将尽可能审核来源及出处,但对内容不作任何保证或承诺。请读者仅作参考并自行核实其真实性及合法性。如您发现图文视频内容来源标注有误或侵犯了您的权益请告知,本站将及时予以修改或删除。
下一篇:分布式分布式RPC框架