Release Notes
- 1. The default communication solution is set to Netty, and the dependency type of the available solution is set to Provided. Provide mandatory dependency minimum compact selection combination “Netty + Hessian + No registry (recommended: XXL-RPC native registry)”;
- 2, XXL-RPC native registry: the underlying abstract registry module, and provide native research based on DB registry, really out of the box, more lightweight, reduce third-party dependence; So far xxL-RPC to provide three kinds of registry implementation: “XXL-RPC native registry scheme “, “ZK scheme “, “Local scheme “; The features of “XXL-RPC native Registry scheme “are as follows:
- Lightweight: based on DB and disk files, only need to provide a DB instance, no third party dependence;
- Real-time: with the help of the internal broadcasting mechanism, new services can be pushed to the client within 1s when they go online and offline.
- Data synchronization: The registry synchronizes disk data every 10 seconds to clear invalid services and ensure that service data is available in real time.
- Performance: Only disk files are read during service discovery. Service registration, removal through the disk file verification, to prevent repeated registration operations;
- Scalability: Convenient and fast horizontal expansion, as long as the “XXL-rpc-admin” configuration is consistent, can use load balancing components such as Nginx rapid cluster deployment;
- Multi-state: The service has three built-in states: Normal = Dynamic registration and discovery, and real-time update of service registration information. Locked status = Manually maintain registration information, service registration information is fixed; Disabled = Disabled, the service registration information is fixed blank;
- Cross-language: The registry provides HTTP interfaces for clients to use, language independent, more universal;
- Compatibility: “XXL-RPC native Lightweight Note Center” although designed for XXL-RPC, is not limited to XXL-RPC use. Compatible support for any service framework service registration utility, such as Dubbo, Springboot, etc.
- Containerization: provide official Docker image, and real-time update push DockerHub, further realize “XXL-RPC native registry solution “product out of the box;
- 3. The XXL-RPC client ADAPTS to the “XXL-RPC native Registry” for fast access. You only need to switch the registry to “native RPC registry”.
- 4. Adjust the location of registry startup parameters to associate with the registry;
- 5. Optimization of service provider parameters; IP is the space-time original dynamic acquisition; enhanced verification of core parameters at startup;
- 6. API optimization of registration module was changed to batch mode to further improve performance;
- 7, document enhancement, registry configuration switch, communication scheme configuration switch description;
- 8. IP tool class optimization, compatible with Inet6Address format address;
- 9. Netty destruction logic optimization;
- 10. Extend the third party registry ZK underlying logic optimization to avoid the problem that old registration information cannot be cleaned up;
Introduction to the
Xxl-rpc is a distributed service framework that provides stable and high performance RPC remote service invocation. With “high performance, distributed, registry, soft load, service governance” and other features. Now open source, out of the box.
“XXL xml-rpc” 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. Soft load balancing and fault tolerance: the service provider uses soft load algorithm to distribute traffic during cluster registration;
- 7, Registry: optional component, support service registration and dynamic discovery; You can choose not to enable it and directly specify the machine address of the service provider for communication. When you select enable, native provides a variety of out-of-the-box registry options, including xxL-RPC native Lightweight Registry, ZK Registry, and Local registry.
- 8. Service governance: Provide a service governance center, which can manage registered service information online, such as service lock, disable, etc.
- 9. Service monitoring: online monitoring of service invocation statistics and service health status (planned);
- 10. 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.
- 11, to 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.
- 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.
“Xxl-rpc native Lightweight Registry” features:
- 1, lightweight: based on DB and disk files, only need to provide a DB instance, no third party dependence;
- 2. Real-time: with the help of the internal broadcasting mechanism, new services can be pushed to the client within 1s when they go online and offline;
- 3. Data synchronization: Disk data will be fully synchronized within the registry every 10 seconds to clean up invalid services and ensure real-time availability of service data.
- 4. Performance: Only disk files are read during service discovery, with high performance. Service registration, removal through the disk file verification, to prevent repeated registration operations;
- 5, scalability: convenient and fast horizontal expansion, as long as the “XXL-rpc-admin” configuration is consistent, can use load balancing components such as Nginx rapid cluster deployment;
- 6, multi-state: the service built-in three states: normal state = support dynamic registration, discovery, real-time update of service registration information; Locked status = Manually maintain registration information, service registration information is fixed; Disabled = Disabled, the service registration information is fixed blank;
- 7, cross-language: the registry provides HTTP interface for the client to use, language independent, more universal;
- 8, compatibility: “XXL-RPC native Lightweight Registry” although designed for XXL-RPC, but not limited to XXL-RPC use. Compatible support for any service framework service registration utility, such as Dubbo, Springboot, etc.
- 9, containerization: provide official Docker image, and real-time update push DockerHub, further achieve “XXL-RPC native registry solution “product out of the box;
The document address
- Chinese document
Technical communication
- Community communication