Dubbo使用及配置

在介绍dubbo之前首先了解一下SOA架构和RPC。

SOA架构

SOA(Service Oriented Ambiguity)架构是一种面向服务的架构,它把项目的功能独立出来便于其他单元或是用户的调用,便于项目的设计,能让开发更有效率。
例如,通常,分布式项目中不允许每个项目都能访问数据库,因此,把数据访问独立出一个服务,让其他单元可以调用这个服务,这样可以提高安全性和代码复用。

RPC

RPC(Remote Procedure Call Protocol)名为远程过程调用协议,客户端(A)通过互联网调用远程服务器,不知道远程服务器具体实现,只知道远程服务器提供了什么功能,RPC的存在极大提高了数据安全性。

Dubbo

一个分布式、高性能的RPC服务框架。

 

导入jar包

说明:在父级项目中引入dubbo的jar包文件(在后台项目的主配置项目pom文件中)

<!--引入dubbojar包文件  -->
		<dependency>
			<groupId>com.alibaba.boot</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>0.2.0</version>
		</dependency>

编辑中立的接口项目interface

1).接口项目创建过程(实际项目中可写在common中)
在这里插入图片描述

2.定义service接口
在这里插入图片描述

定义服务提供者

提供者代码结构

在这里插入图片描述

配置userServiceImpl

在这里插入图片描述

编辑YML配置文件

#关于Dubbo配置   
dubbo:
  scan:
    basePackages: com.jt    #指定dubbo的包路径
  application:              #应用名称
    name: provider-user     #一个接口对应一个服务名称
  registry:
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183
  protocol:  #指定协议
    name: dubbo  #使用dubbo协议(tcp-ip)  web-controller直接调用sso-Service
    port: 20880  #每一个服务都有自己特定的端口 不能重复.

dubbo通讯原理

在这里插入图片描述

定义服务消费者

消费者代码结构

在这里插入图片描述

编辑消费者Controller

@RestController
public class UserController {
	
	//利用dubbo的方式为接口创建代理对象 利用rpc调用
	
	@Reference     //(loadbalance="leastactive")
	//@Autowired	   //只能注入spring家的对象
	private UserService userService; 
	
	/**
	 * Dubbo框架调用特点:远程RPC调用就像调用自己本地服务一样简单
	 * @return
	 */
	@RequestMapping("/findAll")
	public List<User> findAll(){
		
		//远程调用时传递的对象数据必须序列化.
		return userService.findAll(); //rpc调用
	}
	
	@RequestMapping("/saveUser/{name}/{age}/{sex}")
	public String saveUser(User user) {
		
		userService.saveUser(user);
		return "用户入库成功!!!";
	}
}

编辑消费者YML配置

server:
  port: 9001
dubbo:
  scan:
    basePackages: com.jt
  application:
    name: consumer-user   #定义消费者名称
  registry:               #注册中心地址
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值