dubbo现在用的也不多,基本都在用spring cloud那一套,所以不详细写这个dubbo了。

1.zookeeper的安装

2.demo示例

我们需要把提供者注册到dubbo注册中心,消费者去订阅

2.1:新建一个空的项目,先不建module

2.2:新建提供者(provider)模块

file->new->module,选择spring initializr

勾选上web

新建service及其实现类

  1. public interface ProviderService {
  2. String provideSomething();
  3. }
 

  1. package com.sunsas.provider.service.impl;
  2.  
  3. import com.sunsas.provider.service.ProviderService;
  4. import com.alibaba.dubbo.config.annotation.Service;
  5. import org.springframework.stereotype.Component;
  6.  
  7. @Component
  8. //将服务发布出去,注意此Service是dubbo包的
  9. @Service
  10. public class ProviderServiceImpl implements ProviderService {
  11. @Override
  12. public String provideSomething() {
  13. return "something";
  14. }
  15. }

引入dubbo依赖

  1. <!-- 引入spring-boot-starter以及dubbo和curator的依赖 -->
  2. <dependency>
  3. <groupId>com.alibaba.boot</groupId>
  4. <artifactId>dubbo-spring-boot-starter</artifactId>
  5. <version>0.2.0</version>
  6. </dependency>

修改application.properties

  1. server.port=8082
  2. # 服务名称,保持唯一
  3. dubbo.application.name=provider
  4. # zookeeper地址,用于从中获取注册的服务
  5. dubbo.registry.address=zookeeper://127.0.0.1:2181
  6.  
  7. dubbo.scan.base-packages=com.sunsas.provider.service

appliacation 类加上@EnableDubbo注解

  1. @EnableDubbo
  2. @SpringBootApplication
  3. public class ProviderApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(ProviderApplication.class, args);
  6. }
  7. }

启动provider项目,注意需要先启动zookeeper。

2.3:新建消费者(consumer)模块

file->new->module,选择spring initializr,同样选中web模块,引入dubbo依赖

  1. <!-- 引入spring-boot-starter以及dubbo和curator的依赖 -->
  2. <dependency>
  3. <groupId>com.alibaba.boot</groupId>
  4. <artifactId>dubbo-spring-boot-starter</artifactId>
  5. <version>0.2.0</version>
  6. </dependency>

修改application.properties

  1. server.port=8081
  2. # 服务名称,保持唯一
  3. dubbo.application.name=consumer
  4. # zookeeper地址,用于从中获取注册的服务
  5. dubbo.registry.address=zookeeper://127.0.0.1:2181

新建service类,这里直接用类,没有实现接口。

  1. import com.alibaba.dubbo.config.annotation.Reference;
  2. import com.sunsas.provider.service.ProviderService;
  3. import org.springframework.stereotype.Service;
  4.  
  5. @Service
  6. public class ConsumerService {
  7. @Reference
  8. private ProviderService providerService;
  9.  
  10. public String consumer(){
  11. return providerService.provideSomething();
  12. }
  13. }

还要复制provider中的ProviderService

  1. package com.sunsas.provider.service;
  2.  
  3. public interface ProviderService {
    String provideSomething();
    }

新建controller测试接口

  1. import com.sunsas.comsumer.service.ConsumerService;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4.  
  5. import javax.annotation.Resource;
  6.  
  7. @RestController
  8. public class TestController {
  9. @Resource
  10. private ConsumerService consumerService;
  11.  
  12. @RequestMapping("/test")
  13. public String test(){
  14. return consumerService.consumer();
  15. }
  16. }

结构如图:

发送请求测试

http://localhost:8081/test

需要注意的是复制ProviderService路劲要一致,否则可能空指针。

dubbo的使用的更多相关文章

  1. 用dubbo时遇到的一个序列化的坑

    首先,这是标题党,问题并不是出现在序列化上,这是报错的一部分: Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to s ...

  2. dubbo服务提供与消费

    一.前言 项目中用到了Dubbo,临时抱大腿,学习了dubbo的简单实用方法.现在就来总结一下dubbo如何提供服务,如何消费服务,并做了一个简单的demo作为参考. 二.Dubbo是什么 Dubbo ...

  3. 分布式学习系列【dubbo入门实践】

    分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...

  4. Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题

    现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...

  5. Dubbo 备注

    Dubbo是阿里开源的一款服务治理中间件,主要包含如下节点: Provider: 暴露服务的服务提供方. Consumer: 调用远程服务的服务消费方. Registry: 服务注册与发现的注册中心. ...

  6. Dubbo学习小记

    前言 周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境. 熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo----公司的服务都是 ...

  7. Running Dubbo On Spring Boot

    Dubbo(http://dubbo.io/) 是阿里的开源的一款分布式服务框架.而Spring Boot则是Spring社区这两年致力于打造的简化Java配置的微服务框架. 利用他们各自优势,配置到 ...

  8. 【转】Dubbo使用例子并且和Spring集成使用

    一.编写客户端和服务器端共用接口类1.登录接口类public interface LoginService {    public User login(String name, String psw ...

  9. 基于SOA分布式架构的dubbo框架基础学习篇

    以需求用例为基,抽象接口,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段 ...

  10. dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】

    最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我 ...

随机推荐

  1. 《Python学习手册 第五版》 -第5章 数值类型

    本章是承接第四章整体说明之后,将对”数值类型“展开详细的说明 数值类型这一章主要通过一下几个内容来讲解: 1.数值类型有哪些? 2.表达式运算符:有哪些?有什么规范? 3.数值的显示格式 接下来,从第 ...

  2. Linux系统资料

    Linux的心得: 1)Linux由众多微内核组成,其源代码完全开源: 2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4. TCP/IPv6和链 ...

  3. 使用java基础实现一个简陋的web服务器软件

    使用java基础实现一个简陋的web服务器软件 1.写在前面 大学已经过了一年半了,从接触各种web服务器软件已经有一年多了,从大一上最开始折腾Windows电脑自带的IIS开始,上手了自己的第一个静 ...

  4. k8s系列---StorageClass

    介绍这个概念前,需要提前知道存储卷pv/pvc之类的概念. 之前的文章有关于EFK日志系统的介绍,里面的环境是测试环境,完全按照教程一步步的操作,甚至注释掉了持久化存储,当真正线上部署时,又抓虾,打开 ...

  5. Java自学-多线程 启动一个线程

    Java 创建一个线程的三种方式 多线程即在同一时间,可以做多件事情. 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 步骤 1 : 线程概念 首先要理解进程(Process ...

  6. 01-Flink运行架构

    1.flink运行时的组件 ​ Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作: 作业管理器(JobManager).资源管理器(ResourceManager). ...

  7. Re:连点器

    连点器 介绍 顾名思义,可以连续点的机器. 当然,连续可快可慢:机器意味着不许要人工点击:可以是生活中的机器,也可以是电脑中的程序. 现在,连点器网上一搜一大堆,什么鼠标连点精灵,鼠大侠……不仅有电脑 ...

  8. DataX的使用——大数据同步技术

    准备工作: 1.视频教学http://113.31.104.47/portal/#/course/dashboard/b34d160db64624732ef152a1118af11a 2.DataX的 ...

  9. system.run

    客户端开启了remotecommand后可以在server调用该命令在agent上执行一些命令 命令中有逗号 zabbix_get -s xxx.xxx.xxx.xxx -k "system ...

  10. O2O外卖玩众包 开放平台难解标准之痛

    开放平台难解标准之痛" title="O2O外卖玩众包 开放平台难解标准之痛">  有一种怪现象一直是国内互联网企业摆脱不了的附骨之疽--不管规模大小,总是削尖了脑 ...