首先介绍dubbo的理论

本文项目地址:
[https://gitee.com/weizhiwei123/introduction-to-dubbo]

和springcloud netflix 不同, dubbo并没有采用http协议作为服务方和消费方,而是另启动一对socket连接允许dubbo协议进行消费方调用服务方,而这一切都是zookeeper在维护一个生产者-消费者列表。在生产者调用之前会先请求zookeeper的接口,才能知道自己该访问谁。


那么代码如何体现呢?
生产者的yml

dubbo:application:name: sea-provider-log  #在zeekper的键中明确指定version: 1.0.0  #在zeekper的键中明确指定registry:protocol: zookeeperaddress: 127.0.0.1:2181 #服务注册zookeeperprotocol: #消费者调用生产者时的协议name: dubbo #调用协议port: 20880 #生产者使用的socket端口host: 127.0.0.1 #生产者ipscan:base-packages: com.itheima
server:port: 8090

消费者的yml

dubbo:application:name: sea-consumer-webregistry:protocol: zookeeperaddress: 127.0.0.1:2181protocol:name: dubboport: 20880host: 127.0.0.1scan:base-packages: com.itheimaconsumer:timeout: 5000check: false
server:port: 8091

更多细节: 同接口需要不同的实现类,那么有每一个实现类有一个版本号,消费者可以指定版本号来决定自己调用哪一个熟悉类

package com.itheima;@javax.annotation.Generated(value = "by Dubbo generator",comments = "Source: DemoService.proto")
public interface DemoService {public int hello();
}
@Service(version="1")
public class DemoServiceImp implements DemoService {@Overridepublic int hello() {return 100;}
}
@Controller
public class ConsumCtroller {@Reference(version = "1")DemoService demoService;@RequestMapping("/")public ResponseEntity my(){int s = demoService.hello();return  ResponseEntity.ok(s);}
}

最简单的Dubbo教程(springBoot纯注解版)相关推荐

  1. 最全最简单的dubbo教程

    前言 网上看dubbo相关文章,都是一堆复制粘贴的,有的甚至直接复制官网的变成自己的博客.无奈之下只有自己学习,顺便把学习的结果分享给大家.全部案例均使用最新的springboot的形式,传统mian ...

  2. 最简单的dubbo教程-快速入门《一》

    最简单的dubbo教程-快速入门<一> 目录(?)[+] 所需环境 zookeeper作为dubbo的注册中心,dubbo服务提供方和消费方都需要在zookeeper注册中心注册. 可参考 ...

  3. SpringBoot + MyBatis(注解版),常用的SQL方法

    一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...

  4. 数据库里怎么修改服务器爆率,关于数据库点窜爆率及点窜和增加掉落的教程(纯小白版)...

    本帖最初由 killyou555 于 2020-2-17 09:01 编辑 由于近期不能出门,致使在家闲着.为了打发时候,翻出网盘里的魔兽天下单机版,重新起头一点一点的磨着玩,好长时候没玩了,原本自己 ...

  5. SpringBoot RabbitMQ 注解版 基本概念与基本案例

    目录 Windows安装RabbitMQ 环境工具下载 rabbitMQ是Erlang语言开发的所以先下载Erlang; RabbitMQ官网地址: https://www.rabbitmq.com/ ...

  6. Mybatis全网最详细教程(纯注解编程),包看包会!

    Mybatis的注解开发 说明:因为是纯注解,所以没有任何xml配置文件,只需要写一个before()方法,将配置代码放入即可,这里面的配置相当于sqlMapConfig.xml配置文件,后面直接调用 ...

  7. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    最新Finchley版本请访问: https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/ 或者 http://blog.csd ...

  8. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)

    转:https://blog.csdn.net/forezp/article/details/70037291 最新版本: 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spr ...

  9. 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

    转:https://blog.csdn.net/forezp/article/details/69808079 最新版本: 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign ...

  10. 近100个Spring/SpringBoot常用注解汇总!

    作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...

最新文章

  1. Enterprise Library系列文章回顾与总结
  2. java寄存器_汇编学习 1 寄存器的作用 寻址方式 - DraculaW - JavaEye技术网站
  3. inline-block什么意思中文_css中inline-block是什么?inline-block布局的使用
  4. python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...
  5. winform把所有dll打包成一个exe
  6. 数据结构---基数排序
  7. C++ int转string以及源码
  8. mysql source code_Source Code
  9. Qt 程序访问 sqlite 权限错误
  10. Gradient Boosting and GBDT
  11. 机器学习其实只是“皇帝的新衣”
  12. miui v5 android版本,miuiv5主题下载-miuiv5主题(MiroEX) 安卓版v3.4.1-PC6安卓网
  13. 从零点一开始机器学习之TF1.0版本HDF5转换为saved_model
  14. Spring Kafka 之 @KafkaListener 单条或批量处理消息
  15. 简单的一种图像冷暖色温转换(MATLAB)
  16. 华为计算机的隐藏应用程序,华为平板5怎么隐藏软件 荣耀5平板怎么隐藏应用程序?...
  17. 荣耀30青春版体验 拍照你不知道的小秘密有很多
  18. 微信小程序(6)说说微信小程序的支付流程?
  19. 敲代码时如何快速移动光标_如何用 罗技蓝牙键盘 K380在手机上打字编辑发布头条文章...
  20. jmeter 进行弱网测试

热门文章

  1. ccf中文期刊目录_中国计算机学会CCF推荐中文科技期刊目录
  2. android 调用自带地图,Android中调用百度地图
  3. 关于计算机组件游戏,电脑游戏运行库组件补全的方法
  4. flt文件matlab,FLT文件扩展名 - 什么是.flt以及如何打开? - ReviverSoft
  5. 网络视频传输的服务质量(QoS)
  6. IE实现PDF在线预览功能
  7. 100天python、github_GitHub - 214929177/Python-100-Days: Python - 100天从新手到大师
  8. PLC梯形图编程入门
  9. 编译java源代码文件
  10. excel首行空不能导入access_EXCEL数据无法导入ACCESS的解决办法