整理了一些dubbo可能会被面试的面试题,感觉非常不错.如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面.你可以尝试看能不能回答下.我们一起看下有哪些问题吧? 1.dubbo中"读接口"和"写接口"有什么区别? 2.谈谈dubbo中的负载均衡算法及特点? 3.最小活跃数算法中是如何统计这个活跃数的? 4.简单谈谈你对一致性哈希算法的认识? 5.服务发布过程中做了哪些事? 6.dubbo都有哪些协议,他们之间有什么特点,缺省值是什么? 7.什么是…
Hashmap本质是数组加链表.根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面. ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个segment(段),默认16个(concurrency level),然后每次操作对一个segment(段)加锁,避免多线程锁的几率,提高并发效率. 一.HashMap概述 HashMap基于哈希表的 Map 接口的实现.此实现提供所有可选的映…
文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制官方文档 MySQL 主从复制的方式 MySQL 主从复制(也称 A/B 复制)的原理 主从配置的简要步骤 单向主从环境(也称 MySQL A/B 复制)的搭建 MySQL 主从数据同步延迟问题的调优 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 部署环境 操作系统:Cent…
相关文章: Dubbo源码学习文章目录 前言 Dubbo 的定位是分布式服务框架,为了避免单点压力过大,服务的提供者通常部署多台,如何从服务提供者集群中选取一个进行调用, 就依赖Dubbo的负载均衡策略. Dubbo 负载均衡策略 Dubbo 负载均衡策略提供下列四种方式: Random LoadBalance 随机,按权重设置随机概率. Dubbo的默认负载均衡策略 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重. RoundRobi…
1.服务导出过程 本篇文章,我们来研究一下 Dubbo 导出服务的过程.Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑.整个逻辑大致可分为三个部分,第一是前置工作,主要用于检查参数,组装 URL.第二是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程.第三是向注册中心注册服务,用于服务发现.本篇文章将会对这三个部分代码进行详细的分析,在分析之前,我们先来了解一下服务的导出过程. Dubbo 支持两种服务导出方式,…
dubbo服务的本地暴露,显然是针对当服务消费者和服务提供者都在同一个jvm的进程内这种场景 .通常是发生在服务之间的调用的情况下.一种情况就是A服务调用B服务的情况,如果A服务和B服务都是在一个线程中进行服务暴露的,就是本地调用. 下面先看本地暴露的源码: private void exportLocal(URL url) { //这是本协议url示例:injvm://127.0.0.1/org.huxin.dubbo.test.user.service.UserInterface?anyho…
Dubbo源码学习--优雅停机原理及在SpringBoot中遇到的问题 相关文章: Dubbo源码学习文章目录 前言 主要是前一阵子换了工作,第一个任务就是解决目前团队在 Dubbo 停机时产生的问题,同时最近又看了一下 Dubbo 的源码,想重新写一下 Dubbo 相关的文章. 优雅停机原理 对于一个 java 应用,如果想在关闭应用时,执行一些释放资源的操作一般是通过注册一个 ShutDownHook ,当关闭应用时,不是调用 kill -9 命令来直接终止应用,而是通过调用 kill -1…
dubbo的IOC具体实现在:T injectExtension(T instance)方法中.该方法只在三个地方被使用: createAdaptiveExtension() --injectExtension((T) getAdaptiveExtensionClass().newInstance()) //为创建好的AdaptiveExtensionClass实例进行属性注入 createExtension(String name) --injectExtension(instance) //…
官方目前建议使用的负载均衡包括以下几种: random(随机算法) localPref(本地优先算法) roundRobin(轮询算法) consistentHash(一致性hash算法) 所以我们接下来分析以下以上四种负载均衡的源码是怎样的. 随机算法 我们先看一下SOFARPC的源码实现: @Override public ProviderInfo doSelect(SofaRequest invocation, List<ProviderInfo> providerInfos) { Pr…
一.概述 dubbo SPI 在dubbo的作用是基础性的,要想分析研究dubbo的实现原理.dubbo源码,都绕不过 dubbo SPI,掌握dubbo SPI 是征服dubbo的必经之路. 本篇文章会详细介绍dubbo SPI相关的内容,通过源码分析,目标是让读者能通过本篇文章,彻底征服dubbo SPI. 文章的组织方式是先介绍SPI 的概念,通过Java SPI 让大家了解SPI 是什么,怎么用,有一个初步的概念,dubbo的SPI是扩展了Java SPI的内容,自己实现了一个SPI.…