2020最新IDEA SpringBoot整合Dubbo的实现(zookeeper版)

首先,要在电脑上安装配置好zookeeper哦~

这是我云服务器上的zookeeper状态

接下来,开始整合

1. 准备一个dubbo-api的SpringBoot项目

用来存储Entity类和Server接口的项目,配置文件无须改动。

entity – User

// Lombok注解 相当于Setter Getter toString()
@Data
public class User implements Serializable { // 序列化很重要!!!
  private static final long serialVersionUID = 7739394865008699599L;
  private Long id;
  private String username;
  private String password;

}

service – UserService

public interface UserService {
  User getUser();
}

2. 准备一个dubbo-provider的SpringBoot项目(提供服务方)

用来存储dubbo-api 的 Server接口 的实现类

Impl – UserServiceImpl

@DubboService(version = "1.0.0")
public class UserServiceImpl implements UserService {
	// 此处的User类以及UserService接口都是来自dubbo-api中,所以需要在Maven中导入dubbo-api
  @Override
  public User getUser() {
    User user = new User();
    user.setId(1L);
    user.setUsername("root");
    user.setPassword("root");
    return user;
  }
}

application.properties !!!

server.port=8001
## Dubbo 服务提供者配置
## 名称
dubbo.application.name=provider
## Dubbo 服务对象的注册中心zookeeper的地址和端口
dubbo.registry.address=zookeeper://112.124.14.148:2181
## 注册中心请求超时,以毫秒为单位
dubbo.registry.timeout=25000
## 用Dubbo协议
dubbo.protocol.name=dubbo
## 在20880端口暴露服务
dubbo.protocol.port=20880
## 包扫描范围
dubbo.scan.base-packages=com.itzhang.Impl

3. 准备一个dubbo-consumer的SpringBoot项目(调用服务方)

用来存Controller层

controller – UserController

@RestController
@RequestMapping("/user")
public class UserController {

  @DubboReference(version = "1.0.0")
  private UserService userService;

  @RequestMapping("/getUser")
  public User getUserList() {
    return userService.getUser();
  }
}

application.properties !!!

## 不要和provider项目端口冲突
server.port=7001
## Dubbo 服务消费者配置
dubbo.application.name=consumer
## Dubbo 服务对象的注册中心zookeeper的地址和端口
dubbo.registry.address=zookeeper://112.124.14.148:2181
## 服务对象的被注入的包扫描范围
dubbo.scan.base-packages=com.itzhang.controller
## 请求超时
dubbo.registry.timeout=25000

3. 测试

首先启动dubbo-provider

其次启动dubbo-consumer

访问dubbo-consumer中controller提供的接口。完整路径:http://localhost:7001/user/getUser,输出结果并且zookeeper中已成功注册,配置成功!

到此这篇关于2020最新IDEA SpringBoot整合Dubbo(zookeeper版)的文章就介绍到这了,更多相关IDEA SpringBoot整合Dubbo内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot与Dubbo整合的方式详解

    1. 使用默认application.properties和注解的方式 导入dubbo-starter,在application.properties配置属性,使用@Service注解来暴露服务,使用@Reference来引用服务.具体可参考 Dubbo整合SpringBoot,这里截取部分代码方便理解. 属性在application.properties中配置 服务提供方使用@Service注解暴露服务 部分配置如"timeout"等可以在注解上添加 服务消费方使用@Referenc

  • SpringBoot整合Dubbo zookeeper过程解析

    这篇文章主要介绍了SpringBoot整合Dubbo zookeeper过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 docker pull zookeeper docker run --name zk01 -p 2181:2181 --restart always -d 2e30cac00aca 表明zookeeper已成功启动 Zookeeper和Dubbo• ZooKeeperZooKeeper 是一个分布式的,开放源码的分布式

  • springboot2.0整合dubbo的示例代码

    写在前面: 使用springboot作为web框架,方便开发许多,做分布式开发,dubbo又不可少,那么怎么整合在一起呢, 跟我学一遍,至少会用 注意,springboot2.0和springboot1.x与dubbo整合不一样, 1.环境 1.新建一个空的maven项目,作为父工程,新建moudle,,service(接口层,及实现层,没有具体分,),web(web层,springboot项目) 项目结构如下 父pom如下 <properties> <project.build.sou

  • dubbo整合springboot新手入门教程详解

    前言 目前互联网公司,大部分项目都是基于分布式,一个项目被拆分成几个小项目,这些小项目会分别部署在不同的计算机上面,这个叫做微服务.当一台计算机的程序需要调用另一台计算机代码的时候,就涉及远程调用.此时dubbo就粉末登场了. 搭建工程 idea新建工程后,删除src文件夹,然后在gradle文件中输入 buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }

  • 详解SpringBoot开发案例之整合Dubbo分布式服务

    前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了.在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 xml 配置方式. 改造前 之前在 SpringBoot 中使用 Dubbox是这样的.先简单记录下版本,Dubbox-2.8.4.zkclient-0.6.zookeeper-3.4.6. 项目中引入 spring-context-dubbo.xml 配置文件如下: <?xml versio

  • SpringBoot 整合 dubbo xml实现代码示例

    昨天发布了注解方式,有人给我发了邮件希望能出一版本xml格式的,本来12点前能搞定的但是电脑稍微出了问题,导致idea 疯狂奔溃,搞了很久废话不多说了,有错误之处望大家指出发我邮箱. 用dubbo肯定是多模块化了 所以我们先创建一个聚合项目 这是项目结构 Dubbo_demo 的pom 这个主要用来聚合业务模块用不做任何业务处理 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="

  • Springboot整合Dubbo教程之项目创建和环境搭建

    本文介绍了Springboot整合Dubbo教程之项目创建和环境搭建,分享给大家,具体如下: 1. 使用IDEA新建一个Maven项目 新建项目 选择Maven后,点击next下一步 选择项目类型 配置项目的Maven坐标 设置项目名称和保存位置 修改项目的pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM

  • 2020最新IDEA SpringBoot整合Dubbo的实现(zookeeper版)

    首先,要在电脑上安装配置好zookeeper哦~ 这是我云服务器上的zookeeper状态 接下来,开始整合 1. 准备一个dubbo-api的SpringBoot项目 用来存储Entity类和Server接口的项目,配置文件无须改动. entity – User // Lombok注解 相当于Setter Getter toString() @Data public class User implements Serializable { // 序列化很重要!!! private static

  • spring-boot整合dubbo:Spring-boot-dubbo-starter

    为什么要写这个小工具 如果你用过Spring-boot来提供dubbo服务,相信使用中有很多"不爽"的地方.既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style.开个玩笑,真正意思是,spring-boot适合一些简单的.独立的服务,一个大的系统是不适合使用spring-boot来开发.相反,spring-boot适合那些简单服务的搭建. 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置. 怎么使用 对于

  • 详解Springboot整合Dubbo之代码集成和发布

    本文介绍了Springboot整合Dubbo之代码集成和发布,分享给大家,具体如下: 1. boot-dubbo-api相关 打开boot-dubbo-api项目,正在src/main/java下创建一个包,并创建你需要dubbo暴露的接口TestService.java,并创建一个实体类用于测试User.java.如下图所示: 创建文件和包结构 User.java package com.boot.domain; import lombok.Data; import java.io.Seria

  • Springboot 整合 Dubbo/ZooKeeper 实现 SOA 案例解析

    一.为啥整合 Dubbo 实现 SOA Dubbo 不单单只是高性能的 RPC 调用框架,更是 SOA 服务治理的一种方案. 核心: 远程通信,向本地调用一样调用远程方法. 集群容错 服务自动发现和注册,可平滑添加或者删除服务提供者. 我们常常使用 Springboot 暴露 HTTP 服务,并走 JSON 模式.但慢慢量大了,一种 SOA 的治理方案.这样可以暴露出 Dubbo 服务接口,提供给 Dubbo 消费者进行 RPC 调用.下面我们详解下如何集成 Dubbo. 二.运行 spring

  • springboot整合dubbo设置全局唯一ID进行日志追踪的示例代码

    1.新建项目 利用idea创建一个父项目,三个子项目,其中一个项目为生产者,一个项目为消费者,一个为接口等公共服务项目,生产者和消费者需要有web依赖,可以作为tomcat容器启动. 2.项目依赖 <dependencies> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <v

  • spring/springboot整合dubbo详细教程

    一.基本使用 需求: 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在需要创建两个服务模块进行测试 模块 功能 订单服务web模块 创建订单等 用户服务service模块 查询用户地址等 测试预期结果: 订单服务web模块在A服务器,用户服务模块在B服务器,A可以远程调用B的功能. 二.spring整合dubbo 以下使用XML 配置的方式,更多配置方式见官方文档 2.1 spring-common模块: 公共接口层(model,service,exception-),定

  • SpringBoot整合Dubbo框架,实现RPC服务远程调用

    一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层或模块,蓝色的表示与业务有交互,绿色的表示只对 Dubbo 内部交互. 2)图中背景方块 Consumer, Provider, Registry, Monitor 代表部署逻辑拓扑节点. 3)图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用. 4)图中只包含 RPC

随机推荐