dubbo认识

1.  为什么需要dubbo?

   解决url维护的问题。

   实现软负载的功能。

   自动整理出服务之间的依赖关系。

   提供监控平台,监控调用量,以及响应时间。

2. dubbo是什么?

    分布式服务框架,提供高性能以及透明化的RPC远程服务调用解决方法,以及SOA服务治理方案。

3.dubbo功能有哪些?

  软负载均衡策略:

 随机策略。

 轮训策略。这两个策略都有可能使所有的请求落到一台响应比较慢的机器上。 

 一致性哈希。后面讲解

最少活跃调用数。相当于优先使用响应时间最短的。

   dubbo服务只进行订阅:

 应用场景:可能会用在测试环境的版本比较稳定,但是自己本地的服务可能还存在问题,这时候自己服务需要依赖其他模块

 进行测试,所以可以使用只订阅模式。

   dubbo服务只进行注册:

        应用场景:还未想清楚。

    dubbo集群容错:

        Failover:失败的时候自动切换到其他服务器,通过retries=2,来设置重试次数。

        failefast:快速失败,发起一次调用。

        failsafe:  失败安全,出现异常时,直接忽略异常。

        failback:失败自动恢复,定时重发。

        forking:并行调用多个服务器,只要一个成功就返回。

        broadcast cluster:广播调用所有提供者,逐个调用,只要有一个失败就返回。

   配置优先级:

消费端 ---》服务端 :reference method  ---》service method ---》reference   ----》service ---》customer-----》provider

4.  dubbo服务最佳实践

     分包:

       服务接口,请求模型,异常信息放到api里面,符合重用发布等价原则,共用重用原则。

       api里面放到spring的引用配置。

     粒度:

       每一个服务方法代表一个独立的功能,而不是某一个功能步骤,否则会涉及分布式事务。

       服务接口建议以业务场景为单位划分,并对相近业务抽象,防止接口暴增。

       不建议使用泛型。

  5. 源码。。。。

你可能感兴趣的:(spring)