dubbo
文章平均质量分 89
AI乔治
十年码农,站在巨人的肩膀上敲代码!
展开
-
Dubbo(七):redis注册中心的应用
上篇我们讲了Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的。上篇中使用zookeeper实现了注册中心的功能,同时了提了dubbo中有其他许多的注册中心的实现。 今天我们就来看看另一个注册中心的实现吧: redis 。1. dubbo在 Redis 中的服务分布 dubbo在zk中的服务体现是一个个的文件路径形式,如 /dubbo/xxx.xx.XxxService/providers/xxx 。 而在redis中,则体现是一个个的缓存原创 2021-01-04 21:34:21 · 3800 阅读 · 0 评论 -
Dubbo(六):zookeeper注册中心的应用
Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的。而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eureka... 各自实现方式各有不同,但是对外表现都是一致的:都实现了 Registry 接口! 今天我们就来看看最常用的注册中心 Zookeeper 的接入实现吧!1. dubbo在 zookeeper 中的服务目录划分 注册中心的作用主要分发服务的发布,与服务订阅,及服务推送,服务查询!而z原创 2021-01-04 21:28:32 · 497 阅读 · 0 评论 -
Dubbo(五):集群容错的实现
前两篇中,我们看到了dubbo在负载均衡和服务路由方面的实现,它为集群功能提供了必要的功能。 今天我们再来看另一个集群组件的实现:集群容错。1. dubbo 集群容错简介 为了避免单点故障,现在的应用通常至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多的服务器。对于服务消费者来说,同一环境下出现了多个服务提供者。这时会出现一个问题,服务消费者需要决定选择哪个服务提供者进行调用。另外服务调用失败时的处理措施也是需要考虑的,是重试呢,还是抛出异常,亦或是只打印异常等。为了处理这些问原创 2021-01-04 21:23:14 · 1887 阅读 · 0 评论 -
Dubbo(四):服务路由的实现
上一篇中,我们介绍了dubbo的负载均衡实现,见识了几种常用的负载均衡算法。就单个功能而言,似乎dubbo并没有太多的突出之处。事实上,一个成功的产品不必每个地方都要打破常规。更重要的是其全局优化的架构设计,以及如何使用现有的优秀解决方案为己服务。 本篇将介绍另一种集群环境中的高可用实现:路由服务的实现。它将从另一个角度补充dubbo的集群功能完整性。1. 路由出现的时机? 服务路由是什么?服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者。原创 2021-01-04 21:16:29 · 1038 阅读 · 0 评论 -
Dubbo(三):负载均衡实现解析
dubbo作为分布式远程调用框架,要保证的点很多,比如:服务注册与发现、故障转移、高性能通信、负载均衡等等! 负载均衡的目的是为了特定场景下,能够将请求合理地平分到各服务实例上,以便发挥所有机器的叠加作用。主要考虑的点如:不要分配请求到挂掉的机器,性能越好的机器可以分配更多的请求。。。 一般负载均衡是借助外部工具,硬件负载均衡或软件负载均衡,如F5/nginx。当然了,在当前分布式环境遍地开花的情况下,客户端的负载均衡看起来就更轻量级,显得不可或缺。 今天我们就来看看dubbo是如何进行负原创 2021-01-04 21:10:05 · 883 阅读 · 0 评论 -
在dubbo的一端,看Netty处理数据包,揭网络传输原理
如今,我们想要开发一个网络应用,那是相当地方便。不过就是引入一个框架,然后设置些参数,然后写写业务代码就搞定了。 写业务代码自然很重要,但是你知道: 你的数据是怎么来的吗?通过网络传输过来的呗。 你知道网络是通过什么方式传输过来的吗?光纤呗,TCP/IP协议呗。 看起来都难不住我们的同学们,但是,以上问题都不是我们关注的重点,我们今天要关注的是,TCP.IP协议是如何把数据传输到我们的应用服务器,而且准确地交到对应的业务代码手上的? 我们也不关注TCP协议的三次握手四次原创 2021-01-04 21:05:17 · 393 阅读 · 0 评论 -
dubbo 自定义filter 实现公用过滤器处理
Dubbo的Filter机制,是专门为服务提供方和服务消费方调用过程进行拦截设计的,每次远程方法执行,该拦截都会被执行。这样就为开发者提供了非常方便的扩展性,比如为dubbo接口实现ip白名单功能、监控功能等等。怎样添加filter?1. 基于xml配置文件配置filter 1、自定义Filter,必须继承com.alibaba.dubbo.rpc.Filter接口 2、在resources目录下添加纯文本文件META-INF/dubbo/com.alibaba.dubbo.rpc.Fil原创 2021-01-04 21:01:05 · 1602 阅读 · 0 评论 -
dubbo如何自定义路由实现?
业务场景:由于多个业务系统都实现了同一个服务,在调用中通过读取相关配置可以知道此次调用是限制请求到哪几个服务提供者上,而不是所有提供者中任取一个,这个就需要在dubbo上自定义自己的路由规则。具体做法:实现Router接口,重写route方法,从注册中心所有服务提供者列表中选出符合规范的提供者列表并返回即可。public class LimitIpRouter implements Router{ private final static Logger logger = LogManage原创 2021-01-04 20:17:52 · 1495 阅读 · 0 评论