分布式服务框架Dubbo总结-0x02 dubbo常用配置

常用功能配置


线程池


详细点这里

并发控制


服务提供端
    
    
    
    
        
    
服务消费端
    
    
       
    

如果都配了actives,优先

负载均衡策略

配置loadbalance属性为leastactive,[更多配置](http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)
    
    
    
       
    

令牌验证

暂未用到


然而并没有什么卵用,上面的有些东西,都是可以用注解一行搞掂

注解


主要注解有两个:

  • com.alibaba.dubbo.config.annotation.Service
  • com.alibaba.dubbo.config.annotation.Reference

消费端

consumer.xml配置
  dubbo:annotation 是自动扫描包,与spring的雷同
  
    
    
    
consumer.java
@Service
public class Consumer {
    private Long count = 0L;
    //  @Autowired
    @Reference(version = "1.0.0", actives = 10, loadbalance = "leastactive")//直接采用注解
    private IProviderAPI providerAPI;

    //  @Scheduled(cron = "0-59 * * * * ?")//定时
    @Scheduled(fixedDelay = 1000 * 5, initialDelay = 1000)//心跳更新,5000毫秒执行一次,延迟1秒后才执行
    public void doSomething() {
        System.out.println(providerAPI.dosomething("now is " + count, count++));
    }
}

提供端

provider.xml配置 除扫描包路径和协议端口不同外,其余一致
ProviderImpl .java
@Service("providerImpl")
@com.alibaba.dubbo.config.annotation.Service(executes=10,version = "1.0.0",actives = 10,loadbalance="leastactive")
public class ProviderImpl implements IProviderAPI {
    public String dosomething(String json, long logId) {
        System.out.println(json);
        return "i finish doing "+json +" where logid=="+logId;
    }
}

Tip1:虽然注解里面也有registry,application,protocol,但完全不会用...官方文档里面也没有提及
Tip2:如果启用了version 属性,版本号必须一致,才能调用

完整Demo点我

你可能感兴趣的:(分布式服务框架Dubbo总结-0x02 dubbo常用配置)