Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 1 addition & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
> 1. **介绍**:关于 JavaGuide 的相关介绍请看:[关于 JavaGuide 的一些说明](https://www.yuque.com/snailclimb/dr6cvl/mr44yt) 。
> 2. **PDF版本** : [《JavaGuide 面试突击版》PDF 版本](#公众号) 。[图解计算机基础 PDF 版](#优质原创PDF资源)。
> 3. **知识星球** : 简历指导/Java学习/面试指导/面试小册。欢迎加入[我的知识星球](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100015911&idx=1&sn=2e8a0f5acb749ecbcbb417aa8a4e18cc&chksm=4ea1b0ec79d639fae37df1b86f196e8ce397accfd1dd2004bcadb66b4df5f582d90ae0d62448#rd) 。星球内部更新的[《Java面试进阶指北 打造个人的技术竞争力》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)这个小册的质量很高,专为面试打造。
> 4. **面试专版** :准备面试的小伙伴可以考虑面试专版:[《Java 面试进阶指南》](https://xiaozhuanlan.com/javainterview?rel=javaguide)
> 4. **面试专版** :准备面试的小伙伴可以考虑面试专版:[《Java 面试进阶指南》](https://xiaozhuanlan.com/javainterview?rel=javaguide)
> 6. **转载须知** :以下所有文章如非文首说明皆为我(Guide哥)的原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!⛽️

<p align="center">
Expand Down Expand Up @@ -36,61 +36,6 @@
</tbody>
</table>

- [Java](#java)
- [基础 (必看 :+1:)](#基础)
- [容器](#容器)
- [并发](#并发)
- [JVM (必看 :+1:)](#jvm-必看-1)
- [新特性](#新特性)
- [网络](#网络)
- [操作系统](#操作系统)
- [数据结构与算法](#数据结构与算法)
- [数据结构](#数据结构)
- [算法](#算法)
- [数据库](#数据库)
- [MySQL](#mysql)
- [Redis](#redis)
- [系统设计](#系统设计)
- [编码之道(必看 :+1:)](#编码之道必看-1)
- [常用框架](#常用框架)
- [Spring/SpringBoot](#springspringboot)
- [MyBatis](#mybatis)
- [Netty (必看 :+1:)](#netty-必看-1)
- [ZooKeeper](#zookeeper)
- [认证授权](#认证授权)
- [JWT](#jwt)
- [SSO(单点登录)](#sso单点登录)
- [分布式](#分布式)
- [CAP 理论](#cap-理论)
- [BASE 理论](#base-理论)
- [Paxos 算法和 Raft 算法](#paxos-算法和-raft-算法)
- [搜索引擎](#搜索引擎)
- [RPC](#rpc)
- [API 网关](#api-网关)
- [分布式 id](#分布式-id)
- [微服务](#微服务)
- [高并发](#高并发)
- [消息队列](#消息队列)
- [读写分离](#读写分离)
- [分库分表](#分库分表)
- [负载均衡](#负载均衡)
- [高可用](#高可用)
- [限流](#限流)
- [降级](#降级)
- [熔断](#熔断)
- [排队](#排队)
- [大型网站架构](#大型网站架构)
- [工具](#工具)
- [Java 学习常见问题汇总](#java-学习常见问题汇总)
- [书单](#书单)
- [其他](#其他)
- [待办](#待办)
- [联系我](#联系我)
- [捐赠支持](#捐赠支持)
- [Contributor](#贡献者)
- [公众号](#公众号)


## Java

### 基础
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,10 @@ src
xxx=com.xxx.XxxLoadBalance
```

其他还有很多可供扩展的选择,你可以在[官方文档@SPI扩展实现](https://dubbo.apache.org/zh/docs/v2.7/dev/impls/)这里找到。

![](https://img-blog.csdnimg.cn/20210328091015555.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzM3Mjcy,size_16,color_FFFFFF,t_70)

### Dubbo 的微内核架构了解吗?

Dubbo 采用 微内核(Microkernel) + 插件(Plugin) 模式,简单来说就是微内核架构。微内核只负责组装插件。
Expand Down Expand Up @@ -464,5 +468,32 @@ public class RpcStatus {

Dubbo 中的 `RoundRobinLoadBalance` 的代码实现被修改重建了好几次,Dubbo-2.6.5 版本的 `RoundRobinLoadBalance` 为平滑加权轮询算法。

## Dubbo 序列化协议(代办)
## Dubbo序列化协议

### Dubbo 支持哪些序列化方式呢?

![](https://img-blog.csdnimg.cn/20210328092219640.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzM3Mjcy,size_16,color_FFFFFF,t_70)

Dubbo 支持多种序列化方式:JDK自带的序列化、hessian2、JSON、Kryo、FST、Protostuff,ProtoBuf等等。

Dubbo 默认使用的序列化方式是 hession2。

### 谈谈你对这些序列化协议了解?

一般我们不会直接使用 JDK 自带的序列化方式。主要原因有两个:

1. **不支持跨语言调用** : 如果调用的是其他语言开发的服务的时候就不支持了。
2. **性能差** :相比于其他序列化框架性能更低,主要原因是序列化之后的字节数组体积较大,导致传输成本加大。

JSON 序列化由于性能问题,我们一般也不会考虑使用。

像 Protostuff,ProtoBuf、hessian2这些都是跨语言的序列化方式,如果有跨语言需求的话可以考虑使用。

Kryo和FST这两种序列化方式是 Dubbo 后来才引入的,性能非常好。不过,这两者都是专门针对 Java 语言的。Dubbo 官网的一篇文章中提到说推荐使用 Kryo 作为生产环境的序列化方式。(文章地址:[https://dubbo.apache.org/zh/docs/v2.7/user/references/protocol/rest/](https://dubbo.apache.org/zh/docs/v2.7/user/references/protocol/rest/))

![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2020-8/569e541a-22b2-4846-aa07-0ad479f07440.png)

Dubbo 官方文档中还有一个关于这些[序列化协议的性能对比图](https://dubbo.apache.org/zh/docs/v2.7/user/serialization/#m-zhdocsv27userserialization)可供参考。

![](https://img-blog.csdnimg.cn/20210328093219609.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzM3Mjcy,size_16,color_FFFFFF,t_70)