dubbo框架的使用方法。。。

图解。

一、dubbo使用须知。

    1.所有的service层必须要使用service注解(之前用的spring框架的,现在用dubbo框架所提供的@Service注解)
    //    @Service(timeout=单位是秒)

    2.在配置dubbo端口号的时候
        只是provider项目和consumer项目直接数据通讯的时候所必需的要遵循的端口号
        也就是说必须要注意无论是provider还是consumer,所配置的dubbo端口号必须要保持一致
        端口号随意定制!!!
        
server.port=8081
server.context-path=/zxf

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/qy200?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

mybatis.type-aliases-package=com.aaa.zxf.dubbo.model
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

#dubbo 的配置  dubbo的应用名。  在dubbo的项目 可以直接看出改项目是一个什么样的项目
#dubbo-admin  生产者/消费者------application name----需要根据当前项目
#所提供的功能进行命名
dubbo.application.name=user-provider

#协议  protocol 配置该项目远程调用的时候所用的协议--dubbo  TCP 和 upd..
dubbo.protocol.name=dubbo

#配置dubbo 所必需使用的端口号
# 注意!!!  provider 和 consumer 所配置的端口号保持一致  号 随意订制。
dubbo.protocol.port=20881

#zookeeper的通讯地址  dubbo框架集成zookeeper
#provider 需要向zookeeper注册服务,要让provider知道 zookeeper是哪一个!

#【注意!!!】 dubbo 和 provider 以及 consumer的zookeeper的配置中   所有的zookeeper集群 leader 和 follower都可以配
#  因为最终 无论是leader  还是follower  都可以配  (除非leader 宕机)
# zookeeper的端口号就是  2181  需要保持一致!!
dubbo.registry.address=zookeeper://192.168.132.133:2181

# provider 需要让zookeeper知道 那一个类需要 注册到zookeeper中
#dubbo  包的扫描  改包以及所有的子类 都会注册到zookeeper中
dubbo.scan.base-packages=com.aaa.zxf.dubbo.service.impl

# dubbo  根据application 中所配置的dubbo.scan.base-packages 属性来判定 该项目是 provider 还是 consumer

#开启我的 zookeeper
 3.无论是在dubbo还是在provider以及consumer的zookeeper配置中
        所有的zookeeper集群无论是leader还是follower都可以配
        eg:
            zookeeper01是leader
                dubbo-admin--把zookeeper的配置改为-->zookeeper01
            zookeeper02是leader
                dubbo-admin--把zookeeper的配置改为-->zookeeper01
            因为最终无论配置是leader还是follower都会把请求转交给leader(除非leader宕机)
    //        所有的zookeeper配置的端口号都应该是2181
            因为dubbo中端口号就是2181

    4.dubbo如何判定项目为服务生产者还是服务消费者?
        是根据application.properties中所配置的dubbo.scan.base-packages属性来进行判定该项目是provider还是consumer

    5.无论是provider还是consumer,service包必须要保持一致
        provider-->IUserService:com.aaa.lee.dubbo.service
        consumer-->IUserService:com.aaa.lee.dubbo.service
        并且两个接口的名字也必须要保持一致!!!!
    //    接口中方法也必须要保持一致(返回值名称,返回值类型,方法名,方法参数)

    6.consumer项目中的controller需要调用service的时候,不能再使用@Autowired注解进行注入service
        因为整个consumer项目中只有service的接口并没有实现类
    //    需要使用dubbo所提供的@Reference

    7.provider和consumer的application.properties配置文件中dubbo.application.name不能一样!!!!
        provider:
            dubbo.application.name=user-provider
        consumer:
            dubbo.application.name=user-consumer

    8.无论是provider还是consumer项目都必须要把zookeeper的地址配置一致!!!
        不要求必须配置leader--->follower会自动把请求转交给leader

    9.所有的实体类必须要实现序列化接口
        因为实现了序列化接口的实体类都可以把实体类以流的形式进行发送
            provider会把User实体类转换为二进制流----->发送给consumer---->consumer所接收到的并不是一个User对象,而是一个二进制流
        ---->consumer必须要把整个二进制流转换为User对象才可以使用!
            也就是说无论是consumer还是provider都必须要实现序列化接口

原文地址:https://www.cnblogs.com/ZXF6/p/11479274.html

时间: 2024-07-29 12:29:35

dubbo框架的使用方法。。。的相关文章

基于dubbo框架下的RPC通讯协议性能测试

一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC请求,注册中心分配服务URL并路由到具体服务提供方(Provider),消费者和服务提供方建立网络连接,服务提供方在本地创建连接池对象并提供远程服务,对于长连接类型协议(如dubbo协议)将保持连接,减少握手认证,调用过程中可以避免频繁建立和断开连接导致的性能开销,保持长连接需要有心跳包的发送,所以

(转)dubbo框架基本分析

原文地址: https://my.oschina.net/zhengweishan/blog/698591 Dubbo架构基本分析 1. dubbo简单介绍 1.1 dubbo是什么 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及"请求-响应"模式的信息交换方式. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支

Dubbo框架应用之(四)--Dubbo基于Zookeeper实现分布式实例

上三篇文章主要是解决了概念性的补充和学习,充分结合实战来深入理解 入门实例解析 第一:provider-提供服务和相应的接口 创建DemoService接口 package com.unj.dubbotest.provider; import java.util.List; /** * 定义服务接口,该接口需要单独打包,在服务提供方和消费方共享 * * @author lishehe-2015年6月22日 * */ public interface DemoService { /* * sayH

基于Dubbo框架构建分布式服务 (二)

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的Forking Cluster模式配置,就可以对一个调用请求并行发送到多台对等的提供方

[转载] 基于Dubbo框架构建分布式服务

转载自http://shiyanjun.cn/archives/1075.html Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的F

基于Dubbo框架构建分布式服务 【转】

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的Forking Cluster模式配置,就可以对一个调用请求并行发送到多台对等的提供方

基于dubbo框架下的RPC通讯协议性能测试 转

一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC请求,注册中心分配服务URL并路由到具体服务提供方(Provider),消费者和服务提供方建立网络连接,服务提供方在本地创建连接池对象并提供远程服务,对于长连接类型协议(如dubbo协议)将保持连接,减少握手认证,调用过程中可以避免频繁建立和断开连接导致的性能开销,保持长连接需要有心跳包的发送,所以

白话Dubbo——Dubbo框架说明与当当网Duboox REST

dubbo是阿里巴巴开源SOA服务治理方案的核心框架.自2011年开源以后,已被许多非阿里系公司使用. dubbo使用java开发,可以使用zookeeper作为注册中心(dubbo有一个简单的注册中心实现,但不支持集群,就是利用map来存储服务地址),dubbo本身并不是可以独立运行的服务,而是一个普通的Java应用框架.使用dubbo框架开发的应用系统可以称作dubbo应用.dubbo服务器的说法可能容易产生误解. 与持久层框架hibernate,控制层框架spring这样的java框架类似

基于Dubbo框架构建分布式服务

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的Forking Cluster模式配置,就可以对一个调用请求并行发送到多台对等的提供方