SpringBoot整合Dubbo单机使用

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题
为什么要用dubbo(微服务):

简单来说:随着网站日益复杂的业务。

“单体结构”:已经不能解决现有系统的业务请求,所有的业务模块在一个应用中,高流量带来的业务传输已经不能满足需求,性能差。如果一个模块产生错误,那么整个系统都不可用。

”垂直结构“:将整个系统按照模块进行垂直拆分成多个系统,每个子系统为单体结构。数据库压力减小了,但是数据表受限制了,会产生很多重复代码。

”分布式结构“: 将业务拆分,降低了耦合,负载均衡、高效的远程通信、实时监控等…

Dubbo

通过调用 Dubbo 框架提供的 API 可以获得一个服务代理(stub)对象,然后就可以像使用本地服务一样对服务方法发起调用了。 在消费端对服务方法发起调用后,Dubbo 框架负责将请求发送到部署在远端机器上的服务提供方,提供方收到请求后会调用服务的实现类,之后将处理结果返回给消费端,这样就完成了一次完整的服务调用。

简单创建SpringBoot进行使用

Dubbo依赖Zookeeper首先需要下载并启动zookeeper(Zookeeper这里不在介绍)
Zookeeper默认端口号为:2181

在这里插入图片描述

创建空项目,接着创建两个SpringBoot项目(服务提供者和消费者)

添加依赖,可在IDEA创建SpringBoot前勾选相关依赖Dubbo+Zookeeper

>![](https://img-blog.csdnimg.cn/803e3593221e477a990cf868e3c9251d.png

在这里插入图片描述

使用Dubbo

首先进行服务提供者配置
server.port=8001
#配置服务应用名称
dubbo.application.name=provider-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#哪些服务要被注册
dubbo.scan.base-packages=com.fyc.service

增加一个测试接口返回简单信息
注意:这里dubbo版本为2.7.8@Service注解为dubbo包中的注解 。3.0以前的Dubbo版本推荐使用@DubboService注解具体可在官网了解


package com.fyc.service;


import com.alibaba.dubbo.config.annotation.Service; //注意注解包
import org.springframework.stereotype.Component;

@Service //开启时自动注册服务
@Component
public class TicketServiceImp implements TicketService{

    @Override
    public String getTicket() {
        return "服务提供者A";
    }
}

消费者使用

配置消费者

server.port=8002
#配置想要拿到的服务,需要拿服务的时候暴露自己信息
dubbo.application.name=consumer-server
#注册中心的地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

将自己也暴露服务中心,在服务中心拿服务提供者的服务

创建接口去消费服务
@Service //加入到spring 容器  而不是注册 的service
public class UserService {

    //想要拿到提供者提供的信息接口
    @Reference
    TicketService service;

    public String byTicket(){
        String ticket = service.getTicket();
        System.out.println("在注册中心拿到信息--》"+ticket);
        return ticket;
    }
}

测试请求

创建控制层

@RestController
public class ConsumerController {
    @Autowired
    UserService userService;

    @GetMapping("/getInfo")
    public String getInfo(){
        return userService.byTicket();
    }
}

在这里插入图片描述
在这里插入图片描述

消费者拿到提供者返回的信息

简单介绍dubbo-admin-master,下载文件(可在我的博客资源中下载) 启动

在这里插入图片描述

进入到打包好的目录 启动项目 ,端口号:7001

在这里插入图片描述
在这里插入图片描述

进入可以看到注册中心的服务 和一些配置调节

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值