
Dubbo
文章平均质量分 90
Dubbo
xushiyu1996818
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZooKeeper与Dubbo总结
ZooKeeper与集群与一致性协议总结。Zookeeper与统一配置管理。ZooKeeper基本概念总结。ZooKeeper与分布式锁。ZooKeeper实战总结。原创 2022-10-17 10:00:01 · 257041 阅读 · 0 评论 -
Dubbo使用总结
注意:本文参考。原创 2022-11-19 22:23:01 · 19356 阅读 · 0 评论 -
Dubbo集群容错负载均衡
服务路由其实就是路由规则,它规定了服务消费者可以调用哪些服务提供者,Dubbo 一共有三种路由分别是:条件路由 ConditionRouter、脚本路由 ScriptRouter 和标签路由 TagRouter。最常用的就是条件路由,我们就分析下条件路由。条件路由是两个条件组成的,是这么个格式[服务消费者匹配条件] => [服务提供者匹配条件],举个例子官网的例子就是。原创 2022-11-19 22:22:16 · 424 阅读 · 0 评论 -
Dubbo服务调用过程
今天的调用过程我再总结一遍应该差不多了。首先客户端调用接口的某个方法,实际调用的是代理类,代理类会通过 cluster 从 directory 中获取一堆 invokers(如果有一堆的话),然后进行 router 的过滤(其中看配置也会添加 mockInvoker 用于服务降级),然后再通过 SPI 得到 loadBalance 进行一波负载均衡。这里要强调一下默认的 cluster 是 FailoverCluster ,会进行容错重试处理,这个日后再详细分析。原创 2022-11-19 22:21:29 · 3462 阅读 · 0 评论 -
Dubbo的服务引用过程
相信分析下来整个流程不难的,总结地说无非就是通过配置组成 URL ,然后通过自适应得到对于的实现类进行服务引入,如果是注册中心那么会向注册中心注册自己的信息,然后订阅注册中心相关信息,得到远程provider的 ip 等信息,再通过netty客户端进行连接。并且通过directory和cluster进行底层多个服务提供者的屏蔽、容错和负载均衡等,这个之后文章会详细分析,最终得到封装好的invoker再通过动态代理封装得到代理类,让接口调用者无感知的调用方法。原创 2022-11-19 22:21:13 · 588 阅读 · 0 评论 -
Dubbo的服务暴露过程
总的而言服务暴露的过程起始于 Spring IOC 容器刷新完成之时,具体的流程就是根据配置得到 URL,再利用 Dubbo SPI 机制根据 URL 的参数选择对应的实现类,实现扩展。通过 javassist 动态封装 ref (你写的服务实现类),统一暴露出 Invoker 使得调用方便,屏蔽底层实现细节,然后封装成 exporter 存储起来,等待消费者的调用,并且会将 URL 注册到注册中心,使得消费者可以获取服务提供者的信息。原创 2022-11-19 22:20:23 · 4714 阅读 · 0 评论 -
Dubbo的SPI机制
首先我们得先知道什么叫 SPI。SPI (Service Provider Interface),主要是用来在框架中使用的,最常见和莫过于我们在访问数据库时候用到的接口了。你想一下首先市面上的数据库五花八门,不同的数据库底层协议的大不相同,所以首先需要定制一个接口,来约束一下这些数据库,使得 Java 语言的使用者在调用数据库的时候可以方便、统一的面向接口编程。数据库厂商们需要根据接口来开发他们对应的实现,那么问题来了,真正使用的时候到底用哪个实现呢?从哪里找到实现类呢?原创 2022-11-19 22:19:29 · 816 阅读 · 0 评论 -
Dubbo基础
RPC,Remote Procedure Call 即远程过程调用,远程过程调用其实对标的是本地过程调用,本地过程调用你熟悉吧?想想那青葱岁月,你在大学赶着期末大作业,正在攻克图书管理系统,你奋笔疾书疯狂地敲击键盘,实现了图书借阅、图书归还等等模块,你实现的一个个方法之间的调用就叫本地过程调用。你要是和我说你实现图书馆里系统已经用了服务化,搞了远程调用了,我只能和你说你有点东西。原创 2022-11-19 22:03:07 · 52968 阅读 · 0 评论