All men are mortal

Dubbo is derived from alibaba’s taobao.com open source distributed service architecture, and is committed to providing high-performance and transparent RPC remote service invocation scheme, which is the core framework of SOA service-oriented governance scheme. After taobao opened its source, it has received a lot of expansion and support (famous: Dubbox of Dangdang, JD-Hydra of JD, etc.).

Dubbox (also known as the Dubbo eXtensions) is a dubbo2.x based update of The Fork. Zookeeper and Spring versions are updated and restfull style remote calls are supported.

version

  • DubboUpdate has been stopped;
  • DubboxIt’s still being updated.

Note: Dubbox is compatible with Dubbo 2.x and does not change any of dubbo’s existing features or configuration (other than upgrading versions like Spring).

  • It is said that TaobaodubboWith a non-open source frameworkHSFHave a dispute, lead todubboThe team has disbanded, but its expanded versiondubboxBut it has been continuously developed (upgraded);
  • Dubbox - 2.8.0: This version has been used in production environments and is mainly supportedRESTStyle remote call, supportKryoandFSTSerialized, upgradedSpringandZookeeperClient, adjusteddemoApplication and so on;
  • Dubbox - 2.8.1: Mainly supports embedded basedtomcatthehttp-remotingTo optimize theRESTClient performance, inRESTThe maximum value that is supported by the serverHTTPConnection number and so on;
  • Dubbox - 2.8.2Support:RESTIn theHTTP logging, includingHTTP headerThe fields andHTTP bodyFor debugging, logging, and so on. Provide helper classes for easeRESTChinese processing; Change to use@Reference annotationException handling during configuration, that is, whenannotationConfigure when pastdubboInstead of throwing exceptions that cannot be found by dependent services during startup, NPE is thrown on specific invocation, which is inconsistent with the behavior when configured with XML; The larger documentation for Dubbo REST.
  • Dubbox - 2.8.3In:RESTIn the supportdubboIn a unified waybean validation annotationCalibration of parameters;
  • inRpcContextSupport to obtain the underlying protocolRequest/Response;
  • Support aSpringtheJava ConfigWay to configuredubbo;
  • inDubboProtocol support based onJacksontheJson serialization;
  • inSpring AOPSupported on proxied objectsdubbo annotationConfiguration;
  • correctionDubboNone in the management interfaceconsumerWhen a null pointer exception occurs;
  • correction@Reference annotationIn theprotocolSetting bugs that don’t work
  • correction@Reference annotationOn thesetterMethod bugs that can go wrong;

The embedded

  • dubbo: embeddedJetty
  • dubbox: Embedded basedtomcatimplementationdubbotheHTTP remotingSystem (i.e.dubbo-remoting-http)

rightServlet APIThe support of

  • dubbo: 2.5
  • dubboxUpgrade to 3.1

serialization

  • dubboxBased on:DubboThe defaultRPCProtocol add newJSONSerialization implementation; Support based onKryoandFSTtheJavaEfficient serialization implementation;

ZookeeperThe registry

  • dubbo:DubboprovidesZookeeperRegistry, in the wholeDubboIn the design of the full consideration of all types of user needs, some of the underlying communication or information storage provides a large number of different storage schemes;
  • dubboxUpgrade:ZooKeeperClient to latest version;

Usage scenarios

  • dubboUse:DubbotheRPCThe invocation method will still exist between servicesAPIStrong dependence;
  • dubbox: relative to theDubboTo support theRESTOriginal invocation of style (HTTP +JSON/XML);

— — — — — — — — — — — — — — – in short (dubbox dubbo based upgrade) : — — — — — — — — — — — — — — —

  1. supportRESTStyle remote call (HTTP + JSON/XML);
  2. Support based onKryoandFSTtheJavaEfficient serialization implementation;
  3. Support based onJacksontheJSONSerialization;
  4. Embedded based supportTomcattheHTTP remotingSystem;
  5. upgradeSpringTo 3. X;
  6. upgradeZooKeeperThe client;
  7. Support is entirely based onJavaThe code ofDubboConfiguration;

The appendix

Dubbo

Dubbox