首页
学习
活动
专区
工具
TVP
发布

Java编程技术

专栏成员
203
文章
234725
阅读量
41
订阅数
Dubbo集群容错与负载均衡策略
当我们进行系统设计时候,不仅要考虑正常逻辑下代码该如何走,还要考虑异常情况下代码逻辑应该怎么走。当服务消费方调用服务提供方的服务出现错误时候,Dubbo 提供了多种容错方案,缺省模式为 failover,也就是失败重试。
加多
2019-12-20
9870
Dubbo线程模型与线程池策略
Dubbo 默认的底层网络通讯使用的是 Netty ,服务提供方 NettyServer 使用两级线程池,其中 EventLoopGroup(boss) 主要用来接受客户端的链接请求,并把接受的请求分发给 EventLoopGroup(worker) 来处理,boss 和 worker 线程组我们称之为 IO 线程。
加多
2019-12-20
3.3K0
Dubbo协议帧概述
在TCP协议栈中,每层协议都有自己的协议报文格式,比如TCP协议是网络七层模型中的传输层,有TCP协议报文格式;在TCP上层是应用层,应用层协议常见的有http协议等,Dubbo协议作为建立在TCP协议之上的一种应用层协议,自然也有自己的协议包格式,Dubbo协议也是参考TCP协议栈中的协议,协议内容由header和body两部分组成,其结构如下图13.1.1:
加多
2019-12-19
7000
高性能可扩展分布式RPC框架Dubbo-内核原理揭秘
整体来说,一个公司业务系统的演进流程基本都是从单体应用到多体应用。在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成;而变为多个应用时,相互之间进行通信的方式就不能简单的进行本地调用了,因为不同业务模块部署到了不同的 JVM 进程里面,更常见的是部署到了不同的机器,这时候一个高效、稳定的 RPC 远程调用框架就变得非常重要。
加多
2019-07-03
6060
动态指定IP调用Dubbo服务
前面我们探讨了如何获取某一个Dubbo的服务的提供者列表,本节我们探讨如何使用Dubbo的扩展,实现指定IP调用。
加多
2019-05-15
4.6K1
如何动态获取Dubbo服务提供方地址列表
dubbo框架本身提供了丰富的负载均衡策略,比如轮询、随机、最少活跃调用数、一致性hash等,但是有时候我们需要自己根据业务指定某个ip来进行调用。要指定ip进行调用就需要先知道服务提供者的ip。本文我们先来探讨第一步,当服务注册中心使用zookeeper时候如何获取某一个服务的提供端的地址列表。
加多
2019-05-15
4.1K0
白话网络通讯
无论你是纯socket通讯,还是应用层的http,Rpc协议进行通讯,本质底层都是传输二进制流
加多
2018-12-14
4200
实战Jmeter压测Dubbo服务接口
最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集压测信息,我们选择了使用Jmeter来做压测工具,本文就来简单介绍如何使用Jmeter压测Dubbo服务接口,以及需要注意的事情。
加多
2018-12-06
9540
使用Dubbo中需要注意的事项
Dubbo作为高性能RPC框架,已经进入Apache卵化器项目,虽然官方给出了dubbo使用的用户手册,但是大多是一概而过,使用dubbo时候要尽量了解源码,不然会很容易入坑。
加多
2018-09-06
1.3K0
Dubbo剖析-服务降级
dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进行降级,这样服务消费端就避免了在去调用出错的服务提供端,而是使用自定义的返回值直接在在本地返回。
加多
2018-09-06
2.4K0
Dubbo剖析-粘包与半包问题(一)
在客户端与服务端进行通信时候都会约定一个通讯协议,协议一般包含一个header和body,一个header和body组成了一次通讯的内容,一个通讯包。正常情况下客户端通过socket发送一个请求包后,服务端接受后解析请求包,然后进行处理,这看似是一个很简单的问题,但当客户端连续发送多个请求包时就可能会出现半包、粘包现象。
加多
2018-09-06
8400
Dubbo剖析-Dubbo协议
TCP协议栈中,每层模型都有自己的协议报文格式,TCP协议是网络七层模型中的传输层,在TCP上层是应用层,应用层协议常见的有telnet等,Dubbo协议作为建立在TCP协议之上的一种协议,自然也有自己的协议包格式。
加多
2018-09-06
1.1K0
高性能 RPC 框架 Dubbo 从入门到深入(详细原理介绍限时9.99)
课程简介 整体来说,一个公司业务系统的演进流程基本都是从单体应用到多应用。在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成,而变为多个应用时,相互之间进行通信的方式就不能简单的进行本地调用了,因为不同业务模块部署到了不同的 JVM 进程里面,更常见的是部署到了不同的机器,这时候一个高效、稳定的 RPC 远程调用框架就变得非常重要。
加多
2018-09-06
4720
Dubbo剖析-线程模型
Dubbo默认的底层网络通讯是使用Netty来做的,在服务提供方NettyServer使用两级线程池,其中EventLoopGroup(boss)主要用来接受客户端的链接请求,并把接受的请求分发给EventLoopGroup(worker)来处理,boss和worker线程组我们称为IO线程。
加多
2018-09-06
4530
Dubbo剖析-服务消费方Invoker到客户端接口的转换
前面dubbo整体架构分析里面我们讲解了服务消费者消费一个服务的详细过程是,首先 调用 Protocol 的 refer 方法生成 Invoker 实例,接下来把Invoker 转换为客户端需要的接口(如:UserServiceBo),本文来讲解第二个环节的实现
加多
2018-09-06
4560
Dubbo剖析-负载均衡
在服务提供方是集群的时候,为了避免大量请求一直落到一个或者几个服务提供方机器上,从而使这些机器负载很高,甚至打死,需要做一定的负载均衡策略。Dubbo 提供了多种均衡策略,缺省为 random 随机调用
加多
2018-09-06
3300
Dubbo剖析-集群容错
在进行系统设计时候,不仅要考虑正常逻辑该如何走,还要考虑异常逻辑。dubbo中当服务消费方调用服务提供方的服务出现错误时候,提供了多种容错方案,缺省为 failover 重试。
加多
2018-09-06
7050
Dubbo剖析-异步调用实现
异步调用主要是使用future来实现,当消费端发去远程调用时候,具体会调用到DubboInvoker的doInvoke方法,doInvoke代码如下:
加多
2018-09-06
1.7K0
Dubbo剖析-服务提供方实现类到Invoker的转换
前面dubbo整体架构分析里面我们讲解了服务提供者暴露一个服务的详细过程是,首先具体服务的实现类转换为了Invoker对象,然后Invoker在转换为Exporter,本文就来讲解第一步转换。
加多
2018-09-06
6080
Dubbo剖析-整体架构分析
工欲善其事,必先利其器,前面通过几篇文章简单的介绍了如何使用Dubbo搭建一个简单的分布式系统,在接下来的的一段时间就来研究Dubbo原理设计,本文作为原理设计的开篇先整体介绍下dubbo的架构。
加多
2018-09-06
7890
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档