XXL-RPC v1.6.0 | Distributed Service Framework

Release Notes

  • 1. To facilitate maintenance, merge xxl-registry into xxl-rpc, the module name is xxl-rpc-admin;
  • 2. Optimization of consistent hash routing strategy: the default number of virtual nodes is adjusted to 100 to improve the balance of routing;
  • 3. On the RPC Client side, multiplex the singleton EventLoopGroup thread pool to reduce resource overhead;
  • 4. On the RPC Server side, a new attribute "registration address / registryAddress" is added, and this attribute is preferred as the registration address, and when it is empty, the service "IP: PORT" is used as the registration address. Thereby, more flexible support for container type actuator dynamic IP and dynamic mapping port issues.

Introduction

XXL-RPC is a distributed service framework that provides stable and high-performance RPC remote service call functions. Has "high performance, distributed, registration center, load balancing, service governance" and other characteristics. The source code is now open and ready to use out of the box.

Enter picture description

characteristic

  • 1. Quick access: The access procedure is very simple, you can get started in two minutes;
  • 2. Service transparency: The system completely encapsulates the details of the underlying communication. Calling a remote service during development is like calling a local service, and does not lose the semantic simplicity of the local call when providing remote calling capabilities;
  • 3. Multi-call scheme: support SYNC, ONEWAY, FUTURE, CALLBACK and other schemes;
  • 4. Multiple communication schemes: support TCP and HTTP two communication methods for service call; TCP provides optional schemes NETTY or MINA, HTTP provides optional schemes NETTY_HTTP or Jetty;
  • 5. Multi-serialization scheme: support HESSIAN, HESSIAN1, PROTOSTUFF, KRYO, JACKSON and other schemes;
  • 6. Load balancing / soft load: Provide a variety of load balancing strategies, including: polling, random, LRU, LFU, consistent HASH, etc .;
  • 7. Registration center: optional component, support service registration and dynamic discovery; choose not to enable, directly specify the service provider's machine address communication; when enabled, a built-in optional solution: "XXL-REGISTRY Lightweight Registration Center" ( Recommended), "ZK Registration Center", "Local Registration Center", etc .;
  • 8. Service governance: provide a service governance center that can manage registered service information online, such as service locking and disabling;
  • 9. Service monitoring: online monitoring of service call statistics and service health status (planned);
  • 10. Fault tolerance: When the service provider cluster is registered, a service node will be automatically removed when it is unavailable, and the consumer will remove the failed node and distribute traffic to the remaining nodes to improve the system's fault tolerance.
  • 11. Solve the 1 + 1 problem: Traditional distributed communication generally uses nginx or f5 to perform load balancing of cluster services. Each request needs to go through the load balancing machine before reaching the target service machine, that is, 1 + 1, which will put The flow rate is doubled. XXL-RPC will go directly from the consumer to the service provider, and each request will go directly to the target machine, thus avoiding the above problems;
  • 12. High compatibility: Thanks to excellent compatibility and modular design, it does not limit the external framework; in addition to the spring / springboot environment, it theoretically supports running in any Java code, even the main method directly starts running;
  • 13. Generalized call: The service caller does not depend on the API provided by the service party;

Document address

Technology Exchange

 

Guess you like

Origin www.oschina.net/news/114934/xxl-rpc-1-6-0-released