Luckylau's Blog

Keep Moving, Keep Learning


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索
close
Luckylau's Blog

微服务架构之Dubbo服务发布(2)

发表于 2018-02-07 | 分类于 分布式架构

本地暴露

上一篇中微服务架构之Dubbo服务发布(1)我们提到本地暴露,是在exportLocal(URL url)中

传进来的url如图所示

阅读全文 »
Luckylau's Blog

微服务架构之Dubbo服务发布(1)

发表于 2018-02-07 | 分类于 分布式架构

​ 这一部分主要梳理Dubbo的服务发布的原理,会涉及dubbo-config等模块内容,从以下几个方面来一步一步深入学习。

dubbo-config模块包括dubbo-config-api 和dubbo-config-spring 。

dubbo-config-api中重要的类包括ReferenceConfig和ServiceConfig,分别处理消费端的配置(服务引用)和提供服务端的配置(服务发布)

dubbo-config-spring 主要是扩展spring配置标签的扩展;

阅读全文 »
Luckylau's Blog

微服务架构之Dubbo集群容错(6)

发表于 2018-02-06 | 分类于 分布式架构

以 Invoker 为中心,从 Cluster, Directory, Router, LoadBalance,来解析各个接口。

dubbo提供4种负载均衡策略,根据其思想我做了一个简单的实现,见负载均衡算法。

LoadBalance

RandomLoadBalance

随机,按权重设置随机概率。在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

RoundRobinLoadBalance

轮循,按公约后的权重设置轮循比率。存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

阅读全文 »
Luckylau's Blog

微服务架构之Dubbo集群容错(5)

发表于 2018-02-05 | 分类于 分布式架构

以 Invoker 为中心,从 Cluster, Directory, Router, LoadBalance,来解析各个接口。

Router

Router 负责从多个 Invoker 中按路由规则选出子集,比如读写分离,应用隔离等。下图是dubbo-admin的配置界面。

阅读全文 »
Luckylau's Blog

微服务架构之Dubbo集群容错(4)

发表于 2018-01-31 | 分类于 分布式架构

以 Invoker 为中心,从 Cluster, Directory, Router, LoadBalance,来解析各个接口。

Directory

目录服务Directory, 代表多个Invoker, 可以看成List,它的值可能是动态变化的比如注册中心推送变更。集群选择调用服务时通过目录服务找到所有服务。

Directory的接口定义

1
2
3
4
public interface Directory<T> extends Node {
Class<T> getInterface();
List<Invoker<T>> list(Invocation invocation) throws RpcException;
}

阅读全文 »
Luckylau's Blog

微服务架构之Dubbo服务降级(1)

发表于 2018-01-22 | 分类于 分布式架构

dubbo提供了服务降级的策略,我们首先看一下mock机制的降级原理,下面我们从源码的角度分析其调用过程。

如何使用mock服务降级

mock支持的配置大体分为2类,一类用于屏蔽,一类用于容错。可以通过dubbo-admin控制台下发配置。

这里我们只关注配置文件的使用。

阅读全文 »
1…171819…36
Luckylau

Luckylau

人生识字忧患始

215 日志
14 分类
33 标签
GitHub Weibo
© 2017 - 2022 Luckylau
由 Hexo 强力驱动
主题 - NexT.Pisces