You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2019/07/08 01:17:09 UTC

[dubbo-website] branch master updated: Separate the tables of maturity.md (#426)

This is an automated email from the ASF dual-hosted git repository.

lixiaojie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/master by this push:
     new a6b4934  Separate the tables of maturity.md (#426)
a6b4934 is described below

commit a6b49348dbf803df1db0ce95caeff1a9d11dce1c
Author: bigmeng <xk...@gmail.com>
AuthorDate: Mon Jul 8 09:17:04 2019 +0800

    Separate the tables of maturity.md (#426)
---
 docs/en-us/user/maturity.md | 18 ++++++++++++++++++
 docs/zh-cn/user/maturity.md | 21 ++++++++++++++++++++-
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/docs/en-us/user/maturity.md b/docs/en-us/user/maturity.md
index 0d56dfe..0708723 100644
--- a/docs/en-us/user/maturity.md
+++ b/docs/en-us/user/maturity.md
@@ -36,40 +36,58 @@
 | Redis registry             | Stable   | Support the client - based double - write clustering method with high performance | Please ensure server time synchronization, be used to check the expired dirty data of heartbeat | Can be used in the production environment |          |
 | Multicast registry         | Tested   | Decentration, no registry needs to be installed | Depending on the network topology  and routing, there is a risk across the server rooms | Can be used in a small range, in development/test  environment |          |
 | Simple registry            | Tested   | Dogfooding, the registry itself is also a standard RPC service | No cluster support, may occur single-point failure | On trial                                 |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Simple monitor system      | Stable   | Support JFreeChart statistics report     | No cluster support, may occur single-point failure, but the failure does not affect the RPC call | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Dubbo protocol             | Stable   | Use NIO to reuse a single long connection and use a thread pool to process requests concurrently, Reduce handshake and increase concurrency efficiency, good performance | A single connection will become a bottleneck in the transmission of large files | Can be used in the production environment | Alibaba  |
 | Rmi protocol               | Stable   | Interoperable with native RMI, based on the TCP protocol | Occasionally the connection fails, and the stub needs to be rebuilt | Can be used in the production environment | Alibaba  |
 | Hessian protocol           | Stable   | Interoperable with native Hessian, based on the HTTP protocol | Hessian.jar support is required, and the overhead of HTTP short connections is large | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Netty Transporter          | Stable   | The NIO framework of JBoss, has good performance | A request sends two events and needs to shield useless events | Can be used in the production environment | Alibaba  |
 | Mina Transporter           | Stable   | Classic NIO framework,stable             | The dispatch of the message queue is not timely, under great pressure, there will be FullGC | Can be used in the production environment | Alibaba  |
 | Grizzly Transporter        | Tested   | The NIO framework of Sun, applied in the GlassFish container | The thread pool is not extensible, and Filter can't intercept the next filter | On trial                                 |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Hessian Serialization      | Stable   | Good performance, multilingual support (recommended) | The compatibility of various versions of Hessian is not good, it may be in conflict with the Hessian used in the application, and the Dubbo is embedded with the source code of the hessian3.2.1 | Can be used in the production environment | Alibaba  |
 | Dubbo Serialization        | Tested   | The performance is better in a large number of POJO transmission by not transmitting the class information of POJO. | When a field is added to the parameter object, an external file declaration is required | On trial                                 |          |
 | Json Serialization         | Tested   | pure text, can be cross-language parsed, default using FastJson | Poor performance                         | On trial                                 |          |
 | Java Serialization         | Stable   | Java native support                      | Poor performance                         | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Javassist ProxyFactory     | Stable   | Bytecode generation instead of reflection, good performance(recommended) | Depending on the javassist.jar and taking up the JVM's Perm memory, the Perm may have to be larger:java -XX:PermSize=128m | Can be used in the production environment | Alibaba  |
 | Jdk ProxyFactory           | Stable   | JDK native support                       | Poor performance                         | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Failover Cluster           | Stable   | Failure automatically switches, when failure occurs, retries other servers, usually used for read operations.(recommended) | Retry will lead to longer delays         | Can be used in the production environment | Alibaba  |
 | Failfast Cluster           | Stable   | Fast failure, only one call, failure to be reported immediately, usually used for non idempotent writing. | If a server is being restarted, a call failure may occur | Can be used in the production environment | Alibaba  |
 | Failsafe Cluster           | Stable   | Failsafe, when abnormal, directly ignored, usually used to write to the audit log and other operations | Call information loss                    | Can be used in the production environment | Monitor  |
 | Failback Cluster           | Tested   | Failure auto recovery, backstage record failure request, regular retransmission, usually used for message notification operations | Unreliable, lost when restart the server | Can be used in the production environment | Registry |
 | Forking Cluster            | Tested   | Multiple servers are invoked in parallel, as long as one success is returned, often used for high real-time reading operations. | Need to waste more service resources     | Can be used in the production environment |          |
 | Broadcast Cluster          | Tested   | A broadcast calls all providers, one by one, and any error is wrongly reported, usually used to update the provider's local state | The speed is slow, and any false report is wrong. | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Random LoadBalance         | Stable   | Random probability, set random probability according to weight(recommended) | The probability of a collision on a cross section is high. When retrying, there may be an unequal instantaneous pressure. | Can be used in the production environment | Alibaba  |
 | RoundRobin LoadBalance     | Stable   | Round Robin, setting wheel based ratio according to the weight after the Convention | There is a slow machine accumulation request problem, and extreme circumstances may cause an avalanche | Can be used in the production environment |          |
 | LeastActive LoadBalance    | Stable   | The least active call number, the random number of the same active number, the active number is the count difference before and after the call, making the slow machine receive less request. | Do not support the weight, in the capacity planning, not to pressure a machine oriented pressure measurement by weight capacity | Can be used in the production environment |          |
 | ConsistentHash LoadBalance | Stable   | The consistency hash, the same parameters always request to the same provider, when one provider hung, originally sent to the provider's request, based on virtual nodes, spread to other providers, will not cause dramatic changes | Uneven distribution of pressure          | Can be used in the production environment |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Condition routing rule     | Stable   | Routing rules based on conditional expressions, simple and easy to use | There are some complex multi branch conditions, and the rules are difficult to describe | Can be used in the production environment | Alibaba  |
 | Script routing rules       | Tested   | Routing rules based on the script engine, powerful | No sandbox is running, scripting ability is too powerful and may be the back door | On trial                                 |          |
+
 | Feature                    | Maturity | Strength                                 | Problem                                  | Advise                                   | User     |
+| -------------------------- | -------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -------- |
 | Spring Container           | Stable   | Automatically load all Spring configurations under the META-INF/spring directory |                                          | Can be used in the production environment | Alibaba  |
 | Jetty Container            | Stable   | Start an embedded Jetty for reporting state | When a large number of pages are accessed, the threads and memory of the server are affected | Can be used in the production environment | Alibaba  |
 | Log4j Container            | Stable   | Configuring the configuration of the log4j automatically, automatically subdirecting the log files by process at the startup of multiple processes | The user can't control the configuration of log4j, inflexible | Can be used in the production environment | Alibaba  |
diff --git a/docs/zh-cn/user/maturity.md b/docs/zh-cn/user/maturity.md
index 0e1c45a..a9eb275 100644
--- a/docs/zh-cn/user/maturity.md
+++ b/docs/zh-cn/user/maturity.md
@@ -36,46 +36,65 @@ description: 介绍 Dubbo 各个功能、策略的成熟度
 |分布式事务 | Research | JTA/XA三阶段提交事务 | 不稳定 | 不可用 | |
  
 ## 策略成熟度
+
 |Feature | Maturity | Strength | Problem | Advise | User|
 | -------- |---------|---------|---------|---------|---------|
 |Zookeeper注册中心 | Stable | 支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo-2.3.3以上版本(推荐使用) | 依赖于Zookeeper的稳定性 | 可用于生产环境 |  |
 |Redis注册中心 | Stable | 支持基于客户端双写的集群方式,性能高 | 要求服务器时间同步,用于检查心跳过期脏数据 | 可用于生产环境 |  |
 |Multicast注册中心 | Tested | 去中心化,不需要安装注册中心 | 依赖于网络拓扑和路由,跨机房有风险 | 小规模应用或开发测试环境 |  |
 |Simple注册中心 | Tested | Dogfooding,注册中心本身也是一个标准的RPC服务 | 没有集群支持,可能单点故障 | 试用 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Simple监控中心 | Stable | 支持JFreeChart统计报表 | 没有集群支持,可能单点故障,但故障后不影响RPC运行 | 可用于生产环境 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Dubbo协议 | Stable | 采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用) | 在大文件传输时,单一连接会成为瓶颈 | 可用于生产环境 | Alibaba|
 |Rmi协议 | Stable | 可与原生RMI互操作,基于TCP协议 | 偶尔会连接失败,需重建Stub | 可用于生产环境 | Alibaba|
 |Hessian协议 | Stable | 可与原生Hessian互操作,基于HTTP协议 | 需hessian.jar支持,http短连接的开销大 | 可用于生产环境 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Netty Transporter | Stable | JBoss的NIO框架,性能较好(推荐使用) | 一次请求派发两种事件,需屏蔽无用事件 | 可用于生产环境 | Alibaba|
 |Mina Transporter | Stable | 老牌NIO框架,稳定 | 待发送消息队列派发不及时,大压力下,会出现FullGC | 可用于生产环境 | Alibaba|
 |Grizzly Transporter | Tested | Sun的NIO框架,应用于GlassFish服务器中 | 线程池不可扩展,Filter不能拦截下一Filter | 试用 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Hessian Serialization | Stable | 性能较好,多语言支持(推荐使用) | Hessian的各版本兼容性不好,可能和应用使用的Hessian冲突,Dubbo内嵌了hessian3.2.1的源码 | 可用于生产环境 | Alibaba|
 |Dubbo Serialization | Tested | 通过不传送POJO的类元信息,在大量POJO传输时,性能较好 | 当参数对象增加字段时,需外部文件声明 | 试用 |  |
 |Json Serialization | Tested | 纯文本,可跨语言解析,缺省采用FastJson解析 | 性能较差 | 试用 |  |
 |Java Serialization | Stable | Java原生支持 | 性能较差 | 可用于生产环境 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Javassist ProxyFactory | Stable | 通过字节码生成代替反射,性能比较好(推荐使用) | 依赖于javassist.jar包,占用JVM的Perm内存,Perm可能要设大一些:java -XX:PermSize=128m | 可用于生产环境 | Alibaba|
 |Jdk ProxyFactory | Stable | JDK原生支持 | 性能较差 | 可用于生产环境 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Failover Cluster | Stable | 失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用) | 重试会带来更长延迟 | 可用于生产环境 | Alibaba|
 |Failfast Cluster | Stable | 快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作 | 如果有机器正在重启,可能会出现调用失败 | 可用于生产环境 | Alibaba|
 |Failsafe Cluster | Stable | 失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作 | 调用信息丢失 | 可用于生产环境 | Monitor|
 |Failback Cluster | Tested | 失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作 | 不可靠,重启丢失 | 可用于生产环境 | Registry|
 |Forking Cluster | Tested | 并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作 | 需要浪费更多服务资源 | 可用于生产环境 |  |
 |Broadcast Cluster | Tested | 广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态 | 速度慢,任意一台报错则报错 | 可用于生产环境 | | 
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Random LoadBalance | Stable | 随机,按权重设置随机概率(推荐使用) | 在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均 | 可用于生产环境 | Alibaba|
 |RoundRobin LoadBalance | Stable | 轮询,按公约后的权重设置轮询比率 | 存在慢的机器累积请求问题,极端情况可能产生雪崩 | 可用于生产环境 |  |
 |LeastActive LoadBalance | Stable | 最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求 | 不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量 | 可用于生产环境 |  |
 |ConsistentHash LoadBalance | Stable | 一致性Hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动 | 压力分摊不均 | 可用于生产环境 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |条件路由规则 | Stable | 基于条件表达式的路由规则,功能简单易用 | 有些复杂多分支条件情况,规则很难描述 | 可用于生产环境 | Alibaba|
 |脚本路由规则 | Tested | 基于脚本引擎的路由规则,功能强大 | 没有运行沙箱,脚本能力过于强大,可能成为后门 | 试用 |  |
+
 |Feature | Maturity | Strength | Problem | Advise | User|
+| -------- |---------|---------|---------|---------|---------|
 |Spring Container | Stable | 自动加载META-INF/spring目录下的所有Spring配置 |   | 可用于生产环境 | Alibaba|
 |Jetty Container | Stable | 启动一个内嵌Jetty,用于汇报状态 | 大量访问页面时,会影响服务器的线程和内存 | 可用于生产环境 | Alibaba|
-|Log4j Container | Stable | 自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录 | 用户不能控制log4j的配置,不灵活 | 可用于生产环境 | Alibaba|
\ No newline at end of file
+|Log4j Container | Stable | 自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录 | 用户不能控制log4j的配置,不灵活 | 可用于生产环境 | Alibaba|