关于Dubbo使用的注意事项

1.----------
使用Dubbo的时候需要注意返回的值需要序列化,如果是字符串,配置字符串序列化方式,如果是对象,那么需要把对象 实现序列化接口。
2.----------
关于扫描包的问题,在使用Spring、SpringMVC、Mybatis开发的时候,如果配置SpringMVC扫描器的时候,如果是客户端,那么需要先把Dubbo的包扫描放在上面,然后再把SpringMVC的包扫描放在下面即可,不然会出现注册的Service的Bean为null,详细代码如下:

    <!-- 配置Dubbo应用的名称 -->
    <dubbo:application name="resource"/>

    <!-- 配置注册中心地址 -->
    <dubbo:registry address="zookeeper://192.168.1.101:2181"/>

    <!-- 配置Dubbo的包扫描-->
    <dubbo:annotation package="com.resource.controller"/>

    <!-- SpringMVC的Controller层的包扫描-->
    <context:component-scan base-package="com.resource.controller" />

3.----------
发布的服务的接口类路径要客户端接口的类路径必须一致,不然也会访问不到,例如:服务接口AService的类路径是com.xxx.service,那么客户端的AService的类路径也必须为com.xxx.service,并且这两个类里面的结构和组成
还必须一模一样。
4.---------
关于服务接口service层的注解@Service,这里应该注意要使用com.alibaba.dubbo.config.annotation.Service这个包里面的service,不能用以前Spring的@Service,另外在客户端(即:调用服务接口的一端)在Controller层下面用发布的接口服务里面的AService的时候,这个时候不能用@Autowired或者是@Resource了,此时要用@Reference,这个是在com.alibaba.dubbo.config.annotation.Reference这个包下面的。
5. ---------
需要jar包:Dubbo和Zookeeper的

        <!--dubbo及zookeeper相关依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.11.0.GA</version>
        </dependency>
Dubbo是一个分布式服务框架,可帮助我们快速构建高性能、可扩展、可维护的分布式应用程序。下面是Dubbo常用配置及注意事项: 1. 服务提供者配置: - `dubbo.application.name`:应用程序名称 - `dubbo.application.owner`:应用程序所有者 - `dubbo.registry.address`:注册中心地址 - `dubbo.protocol.name`:协议名称 - `dubbo.protocol.port`:协议端口 - `dubbo.timeout`:调用间 - `dubbo.provider.timeout`:服务提供者端超间 - `dubbo.provider.retries`:服务提供者重试次数 2. 服务消费者配置: - `dubbo.application.name`:应用程序名称 - `dubbo.application.owner`:应用程序所有者 - `dubbo.registry.address`:注册中心地址 - `dubbo.protocol.name`:协议名称 - `dubbo.protocol.port`:协议端口 - `dubbo.timeout`:调用间 - `dubbo.consumer.timeout`:服务消费者端超间 - `dubbo.consumer.check`:服务消费者启动是否检查服务提供者是否存在 3. 注册中心配置: - `dubbo.registry.address`:注册中心地址 - `dubbo.registry.timeout`:注册中心连接超间 - `dubbo.registry.username`:注册中心用户名 - `dubbo.registry.password`:注册中心密码 4. 注意事项: - Dubbo服务提供者消费者的配置项必须一致。 - Dubbo服务提供者消费者的协议名称、端口号、超间等配置项必须与注册中心一致。 - Dubbo服务提供者消费者的版本号、接口名称、方法名称等必须定义清楚,否则会出现调用失败的情况。 - Dubbo服务提供者消费者的日志级别应该适当调整,以便及发现问题。 - Dubbo服务提供者消费者的线程池大小应该根据实际情况进行配置,以避免线程池过大或过小的问题。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值