文章目录:

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. 《英语语法新思维初级教程》学习笔记(一)名词短语
  2. 软件测试职业培训中心,软件测试工程师就业班
  3. python必背100代码-这 100 道 Python 题,拿去刷!!!
  4. Oracle Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect
  5. Git的配置SSHKey
  6. 多线程:CopyOnWriteArrayList
  7. mac nginx php7 配置,mac os下配置nginx+php7.1+fastcgi
  8. 那些年我们追过的计算机经典书
  9. Tile-Based架构下的性能调校
  10. 我找到一个价值5.5万美元的 Facebook OAuth账户劫持漏洞
  11. 应用管理系列 — 怎么管理Sybase数据库
  12. linux中sed和find,Linux运维知识之Linux 之 sed 与 find 命令结合使用
  13. 7.jenkins 发布邮件
  14. 数据挖掘技术基本任务
  15. 国美理直气壮的停发员工工资
  16. Latex 中的空格汇总
  17. python爬取bilibili弹幕_python 爬取bilibili 视频弹幕
  18. 【转】CAN总线与CANOPEN协议入门
  19. 网红神盾七号重疾险再创新高,自带住院津贴,还能赔两次!
  20. 〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术

热门文章

  1. 华清远见-重庆中心-数据库阶段技术总结
  2. 【软工】概要设计说明书
  3. 山东的事业单位待遇如何?
  4. 年度最佳15款网络监控工具,运维人员不要错过
  5. 自动驾驶汽车发展史:八个重要的里程碑事件 | 科普
  6. 联想电脑自带的office被误删了怎么办?联想电脑word软件被误删怎么恢复?
  7. 《计算机网络》复习第二章
  8. Javascript 练手小实验:秒表计时游戏
  9. 安装TortoiseSVN时报错Could not write value {30351348-7B7D-4FCC-81B4-1E394CA267EB} to key……的解决方法
  10. 在京外籍人员身份证丢失补办