IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Springboot 集成Dubbo2.7.8示例 -> 正文阅读

[大数据]Springboot 集成Dubbo2.7.8示例

Springboot 集成Dubbo2.7.8示例

consumer&provider

依赖

新建springboot项目后,引入以下额外依赖,Dubbo的consumer和provider的依赖相同

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.8</version>
</dependency>

<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>4.2.0</version>
</dependency>

provider

建立子工程provider来作为生产者

在这里插入图片描述

其中application.properties:

server.port=8081
# 服务应用名字
dubbo.application.name=provider-server
# 注册中心地址
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://localhost:2181
# 哪些服务要被注册
dubbo.scan.base-packages=com.example.provider.service
# 协议
#dubbo.protocol.host=192.168.0.1
spring.main.allow-bean-definition-overriding=true
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

TicketServiceImpl:

版本号一定要填写!

package com.example.provider.service;

import org.apache.dubbo.config.annotation.DubboService;

@DubboService(version = "1.0")
public class TicketServiceImpl implements TicketService{

    @Override
    public String getTicket(String name) {
        return name;
    }
}

TicketService:

package com.example.provider.service;

public interface TicketService {

    String getTicket(String name);
}

consumer

引入provider的接口,注意接口包路径一定要一致

目录:

在这里插入图片描述

application.properties:

server.port=8083

# 消费者也要暴露自己的名字
dubbo.application.name=consumer-server
# 注册中心的地址
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://localhost:2181
dubbo.scan.base-packages=com.example.consumer.service
# 协议
spring.main.allow-bean-definition-overriding=true
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881

UserServiceImol:

@DubboService注解会让这个服务变成provider,而@DubboReference则让服务变成consumer,同时加的时候该服务既是provider又是consumer,版本号都要加,否则会报错

package com.example.consumer.service;

import com.example.provider.service.TicketService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Component;

//@DubboService(version = "1.0")
@Component
public class UserServiceImpl implements UserServicei{
    //想拿到provider-server提供的票,要去注册中心拿到服务
    @DubboReference(version = "1.0") 
    TicketService ticketService;

    @Override
    public void buyTicket(){
        String ticket = ticketService.getTicket("我");
        System.out.println(ticket);
        System.out.println("shit");
    }
}

UerServicei:

package com.example.consumer.service;

public interface UserServicei {
    public void buyTicket();
}

环境搭建

注册中心zookeeper

完成整个rpc框架调用还需要注册中心,这里使用zookeeper,并加上dubbo的监控中心来可视化监控服务

下载apache-zookeeper-3.7.0-bin

运行bin文件夹中的zkServer.cmd启动zookeeper

监控中心dubbo-admin

下载dubbo-admin

为前后端分离项目

启动其中的dubbo-admin-ui,这里使用vscode打开,在终端输入npm run dev

启动其中的dubbo-admin-server,这里用idea打开,直接运行即可

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:24:52  更:2021-09-14 13:26:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:35:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码