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" />

     

          

  • 相关阅读:
    HDU 1501 Zipper(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1254 推箱子(BFS)
    HDU 1045 Fire Net (DFS)
    HDU 2212 DFS
    HDU 1241Oil Deposits (DFS)
    HDU 1312 Red and Black (DFS)
    HDU 1010 Tempter of the Bone(DFS+奇偶剪枝)
    HDU 1022 Train Problem I(栈)
    HDU 1008 u Calculate e
  • 原文地址:https://www.cnblogs.com/wxd0108/p/4961356.html
Copyright © 2011-2022 走看看