文章目录:

1.Dubbo中的常用标签

2.Dubbo中的服务化最佳实践

2.1 分包

2.2 粒度

2.3 版本

2.4 案例分析

2.4.1 003-link-interface

2.4.2 004-link-userservice-provider

2.4.3 005-link-consumer

2.4.4 启动测试


1.Dubbo中的常用标签

Dubbo 中常用标签。分为三个类别:公用标签,服务提供者标签,服务消费者标签。

  • 公用标签:配置应用信息 <dubbo:application/> 和  配置注册中心 <dubbo:registry/>
  • 服务提供者标签:配置暴露的服务 <dubbo:service interface=”服务接口名” ref=”服务实现对象 bean”>
  • 服务消费者标签:引用远程服务 <dubbo:reference id=”服务引用 bean 的 id” interface=”服务接口名”/>

2.Dubbo中的服务化最佳实践

2.1 分包

建议将服务接口、服务模型、服务异常等均放在公共包中。

2.2 粒度

服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,

否则将面临分布式事务问题,Dubbo 暂未提供分布式事务支持。

服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸。

不建议使用过于抽象的通用接口,如:Map query(Map),这样的接口没有明确语义,会给后期维护带来不便。

2.3 版本

每个接口都应定义版本号,为后续不兼容升级提供可能,如: <dubbo:service interface="com.xxx.XxxService" version="1.0" />。

建议使用两位版本号,要变更服务版本。先升级一半提供者为新版本,再将消费者全部升为新版本,然后将剩下的一半提供者升为新版本。

2.4 案例分析

在这个案例分析中,一共需要3个maven工程 。

2.4.1 003-link-interface

第一个是maven java工程,它里面存放的是服务模型和服务接口。代码如下:

Dubbo——Dubbo中的常用标签、服务化最佳实践相关推荐

  1. dubbo服务化最佳实践

    本文来说下dubbo服务化最佳实践 文章目录 概述 分包 粒度 本文小结 概述 dubbo的服务化最佳实践包括分包, 粒度, 版本, 兼容性, 枚举, 序列化, 异常等内容,详细信息可以看官网提供的内 ...

  2. html中form标签的作用style,HTML5中meta常用标签属性说明

    HTML5中meta常用标签属性说明 IE 兼容模式,Bootstrap 不支持 IE 古老的兼容模式.为了让 IE 浏览器运行最新的渲染模式下,建议将此  标签加入到你的页面中: content属性 ...

  3. 分布式服务框架之服务化最佳实践

    在服务化之前,业务通常都是本地API调用,本地方法调用性能损耗较小.服务化之后,服务提供者和消费者之间采用远程网络通信,增加了额外的性能损耗,业务调用的时延将增大,同时由于网络闪断等原因,分布式调用失 ...

  4. java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库:1 ...

  5. java web 有哪些标签库_java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库:1 ...

  6. Mybatis中的常用标签

    trim标签 MyBatis的trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 "where"."set"以及"v ...

  7. 软件架构中的架构模式和最佳实践:探索和实践

    作者:禅与计算机程序设计艺术 "架构"这个词汇一直是软件工程师们谈论的热点话题之一,无论从代码设计.框架选型.需求分析.项目管理.测试策略还是后续的维护.运维等各个方面都离不开架构 ...

  8. 【转】Java中关于异常处理的十个最佳实践

    原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 ...

  9. PyTorch 1.0 中文文档:多进程最佳实践

    译者:cvley torch.multiprocessing 是 Python 的 multiprocessing 的直接替代模块.它支持完全相同的操作,但进行了扩展,这样所有的张量就可以通过一个 m ...

最新文章

  1. 两个git库之间迁移_Python 3 迁移怨声载道
  2. SpringCloud微服务云架构构建B2B2C电子商务平台之-(八)消息总线(Spring Cloud Bus)...
  3. GPS Essentials
  4. 我们为什么会爱上一个人?
  5. linux transmission,Linux下使用Transmission新版
  6. cad布局打印出图-01-模型空间打印
  7. go redis 序列化_求求你不要手写Redis缓存
  8. 深入理解并行编程-分割和同步设计(五)
  9. 轩辕炼妖录java_一个Java对象的回忆录:那些被锁住的日子
  10. 恢复误删的Windows文件
  11. blend 自定义控件
  12. Python数据结构中包含中文时在Windows下正常输出
  13. sql查询时取日期部分内容(年月日时分秒)、增加时间
  14. 黑苹果 hackintosh 声卡驱动
  15. 点击复制某段文本方法
  16. java 实现限流器,可用于Rest接口请求处理 | Java工具类
  17. 使用Navicat导入.sql文件(适合新手)
  18. `MD`语法技巧Typora
  19. 在Windows程序中打开控制台的程序
  20. Java 开发工程师 面试题(一)

热门文章

  1. poj 1390:Blocks 方盒游戏
  2. mysql的事务内常用锁
  3. yolov5通过ncnn在安卓平台部署
  4. opensuse 安装ati驱动
  5. C/C++ 圆桌会议
  6. AWS 亚马逊和Aliyun阿里云的区别比较和深度分析
  7. 乐山计算机学校电子科技大学,乐山市计算机学校喜获电子科技大学网教先进
  8. SDUT-2678 继承与派生
  9. 提高ChatGPT稳定性:告别GPT网页登录使用PC软件进入GPT
  10. ICML/ICLR‘22 推荐系统论文梳理