zoukankan      html  css  js  c++  java
  • dubbo 学习总结

    1 Dubbo 配置

           dubbo配置xml配置     属性配置  注解配置   api配置

          

    注解配置

    (+) (#

    服务提供方注解:

    import com.alibaba.dubbo.config.annotation.Service;
     
    @Service(version="1.0.0")
    public class FooServiceImpl implements FooService {
     
        // ......
     
    }

    服务提供方配置:

    <!-- 公共信息,也可以用dubbo.properties配置 -->
    <dubbo:application name="annotation-provider" />
    <dubbo:registry address="127.0.0.1:4548" />
     
    <!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
    <dubbo:annotation package="com.foo.bar.service" />

    服务消费方注解:

    import com.alibaba.dubbo.config.annotation.Reference;
    import org.springframework.stereotype.Component;
     
    @Component
    public class BarAction {
     
        @Reference(version="1.0.0")
        private FooService fooService;
     
    }

    服务消费方配置:

    <!-- 公共信息,也可以用dubbo.properties配置 -->
    <dubbo:application name="annotation-consumer" />
    <dubbo:registry address="127.0.0.1:4548" />
     
    <!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
    <dubbo:annotation package="com.foo.bar.action" />

    也可以使用:(等价于前面的:<dubbo:annotation package="com.foo.bar.service" />)

    <dubbo:annotation />
    <context:component-scan base-package="com.foo.bar.service">
        <context:include-filter type="annotation" expression="com.alibaba.dubbo.config.annotation.Service" />
    </context:component-scan>
    Spring2.5及以后版本支持component-scan,如果用的是Spring2.0及以前版本,需配置:
    <!-- Spring2.0支持@Service注解配置,但不支持package属性自动加载bean的实例,需人工定义bean的实例。-->
    <dubbo:annotation />
    <bean id="barService" class="com.foo.BarServiceImpl" />

    2 功能熟悉

         并发控制

            

    限制com.foo.BarService的每个方法,服务器端并发执行(或占用线程池线程数)不能超过10个:

    <dubbo:service interface="com.foo.BarService" executes="10" />

    限制com.foo.BarService的sayHello方法,服务器端并发执行(或占用线程池线程数)不能超过10个:

    <dubbo:service interface="com.foo.BarService">
        <dubbo:method name="sayHello" executes="10" />
    </dubbo:service>

    限制com.foo.BarService的每个方法,每客户端并发执行(或占用连接的请求数)不能超过10个:

    <dubbo:service interface="com.foo.BarService" actives="10" />

    Or:

    <dubbo:reference interface="com.foo.BarService" actives="10" />

    限制com.foo.BarService的sayHello方法,每客户端并发执行(或占用连接的请求数)不能超过10个:

    <dubbo:service interface="com.foo.BarService">
        <dubbo:method name="sayHello" actives="10" />
    </dubbo:service>

    Or:

    <dubbo:reference interface="com.foo.BarService">
        <dubbo:method name="sayHello" actives="10" />
    </dubbo:service>

    如果<dubbo:service>和<dubbo:reference>都配了actives,<dubbo:reference>优先,参见:配置的覆盖策略

    Load Balance均衡:

    配置服务的客户端的loadbalance属性为leastactive,此Loadbalance会调用并发数最小的Provider(Consumer端并发数)。

    <dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />

    Or:

    <dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />

     

          

  • 相关阅读:
    Windows 命令行
    建议博客园提供 BT 资源发布功能——由分享 VS2005 Beta2 的历程想到的
    成功 自信 快乐(转载)
    轻松一下,加菲猫语录
    COmega 概述
    对 RBAC 几种模型的理解及初步实现构想
    DHTML 中滚动条的设置
    求婚
    终于有了自己的blog!
    VS2005 已发布!
  • 原文地址:https://www.cnblogs.com/wxd0108/p/4961356.html
Copyright © 2011-2022 走看看