dubbo原理与配置浅析

dubbo原理与配置:
dubbo-architucture

0.容器启动加载运行服务提供者
1.服务提供者向注册中心注册服务
2.消费者启动并向注册中心订阅服务
3.注册中心notify通知消费者所订阅服务的地址列表,如果有变动,注册中心会基于长连接向消费者推送变更数据
4.消费者从远程接口列表中调用远程接口,dubbo会根据负载均衡算法选择一台进行调用,如果失败选择另一台
5.消费者和服务者在内存中累积调用次数和调用时间,定时每分钟发送一次统计数据到监控中心


配置:
1.启动时检查: 
    check=false关闭启动时检查,发布的时解耦    check=true 启动检查,尽快暴露问题
2.集群容错:
    cluster=failover 默认值 失败自动切换到其他服务器重试,会造成响应延迟时间更长 可以设置重试次数retries=2


    cluster=failfast  快速失败,一次失败立即报错


    cluster=failsafe  失败安全,出现异常忽略


    cluster=failback  失败自动恢复,后台记录失败记录,定时重发 用于消息


    cluster=forKing  并行调用多台服务器、一个成功即返回 资源浪费 设置并行数 forks=2


    cluster=broadcast  广播所有提供者,逐个调用 任何一个报错都报错


3.负载均衡:
    loadbalance=random  默认值 随机 按权重随机  调用量越大越均匀


    loadbalance=roundrobin  轮询 存在慢的提供者累积请求的问题,慢的机器会卡在那 请求越积越多


    loadbalance=leastactive 最少活跃调用数 慢的提供者收到更少的请求


    loadbalance=consistenthash  一致性哈希 相同请求参数的请求会发到同一台提供者机器上,当其中一台挂掉时 基于虚拟节点,请求平摊到其他提供者,不会引起剧烈变动

猜你喜欢

转载自blog.csdn.net/weiguang111/article/details/76501803