Release Notes

  • 1. Logic optimization when ZK is selected in the built-in registry; logic adjustment in UNLOCK when ZK is initialized to optimize the disconnection and reconnection feature;
  • 2. In addition to springboot type examples; Added frameless sample project “xxL-Rpc-executor-sample-frameless”. Do not rely on third-party framework, only main method can be started and run;
  • 3. When selecting the HTTP communication mode, add the address prefix if the verification is IP port format address;
  • 4. Optimized RPC asynchronous request logic, notify the Client when the request is abnormal to avoid invalid waiting time;
  • 5. When selecting JETTY as HTTP communication mode, the thread pool is upgraded to QueuedThreadPool, and the automatic destruction problem of Jetty 9.4 server is fixed;
  • 6, Server added “/services” directory function, you can view the online service list;

Introduction to the

Xxl-rpc is a distributed service communication framework, which provides stable and high performance RPC remote service invocation function. Now open source, out of the box.

Enter the image title here

features

  • 1. Fast access: the access steps are very simple and can be used in two minutes;
  • 2. Service transparency: the system completely encapsulates the underlying communication details. Calling remote services during development is like calling local services, without losing the semantic simplicity of local calls when providing remote call capabilities;
  • 3, multi-call scheme: support SYNC, ONEWAY, FUTURE, CALLBACK and other schemes;
  • 4. Multi-communication scheme: support TCP and HTTP for service invocation; TCP provides NETTY or MINA, and HTTP provides Jetty.
  • 5, multiple serialization scheme: support HESSIAN, HESSIAN1, PROTOSTUFF, JSON and other schemes;
  • 6, registry: optional component, support service registration and dynamic discovery; If the registry is not enabled, it can directly specify the machine address of the service provider for communication. Native provides local and ZooKeeper service registry options.
  • 7. Soft load balancing and fault tolerance: the service provider uses soft load algorithm to distribute traffic during cluster registration;
  • 8. Fault tolerance: During the cluster registration of the service provider, if a service node is unavailable, it will be automatically removed. At the same time, the consumer will remove the failed node and distribute the traffic to other nodes to improve the fault tolerance of the system.
  • 9, solve the 1+1 problem: traditional distributed communication generally through NGINx or F5 to do cluster service traffic load balancing, each request before reaching the target service machine will need to go through the load balancing machine, that is, 1+1, which will double the traffic. Xxl-rpc will go from the consumer to the service provider, and each request will go directly to the target machine, thus avoiding the above problems.
  • 10. Service governance: Provide a service governance center that can manage registered service information online, such as management of service nodes and node weights; (Planned)
  • 11. Service monitoring: online monitoring of service invocation statistics and service health status (planned);
  • 12, high compatibility: thanks to excellent compatibility and modular design, does not limit the external framework; With the exception of the Spring/SpringBoot environment, it can theoretically run in any Java code, even if the main method is launched directly.

The document address

  • Chinese document

Technical communication

  • Community communication