mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
[feat]Dubbo 常见问题完善
This commit is contained in:
parent
ac0383a3db
commit
e2761e098b
@ -207,6 +207,10 @@ src
|
|||||||
xxx=com.xxx.XxxLoadBalance
|
xxx=com.xxx.XxxLoadBalance
|
||||||
```
|
```
|
||||||
|
|
||||||
|
其他还有很多可供扩展的选择,你可以在[官方文档@SPI扩展实现](https://dubbo.apache.org/zh/docs/v2.7/dev/impls/)这里找到。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### Dubbo 的微内核架构了解吗?
|
### Dubbo 的微内核架构了解吗?
|
||||||
|
|
||||||
Dubbo 采用 微内核(Microkernel) + 插件(Plugin) 模式,简单来说就是微内核架构。微内核只负责组装插件。
|
Dubbo 采用 微内核(Microkernel) + 插件(Plugin) 模式,简单来说就是微内核架构。微内核只负责组装插件。
|
||||||
@ -464,5 +468,34 @@ public class RpcStatus {
|
|||||||
|
|
||||||
Dubbo 中的 `RoundRobinLoadBalance` 的代码实现被修改重建了好几次,Dubbo-2.6.5 版本的 `RoundRobinLoadBalance` 为平滑加权轮询算法。
|
Dubbo 中的 `RoundRobinLoadBalance` 的代码实现被修改重建了好几次,Dubbo-2.6.5 版本的 `RoundRobinLoadBalance` 为平滑加权轮询算法。
|
||||||
|
|
||||||
## Dubbo 序列化协议(代办)
|
## Dubbo序列化协议
|
||||||
|
|
||||||
|
### Dubbo 支持哪些序列化方式呢?
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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/))
|
||||||
|
|
||||||
|

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

|
||||||
|
|
||||||
|
##
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user