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

 

      

 

 

 

转载于:https://www.cnblogs.com/wxd0108/p/4961356.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值