Load balancing communication forwarding distributor G5 update log v1.1.0

Since the release of version v1.0.0 last week, G5 has received keen attention from netizens. I will continue to supplement functions and correct defects according to the needs of netizens. If the cumulative demand is large, I will basically guarantee that it will be updated every Monday.

This week's version is updated to v1.1.0, and the main updates are as follows:
* The forwarding session structure has been optimized: each forwarding session has its own input and output data buffers to achieve non-blocking asynchronous processing when the receiving speed is greater than the sending speed , for future expansion.
* Added the last piece of code of the fully asynchronous framework: when the forwarding buffer is full, temporarily close the readable events on the input side, and asynchronously wait for the writable events on the output side.
* Added rule attribute timeout control "timeout": timeout control of each session inheritance rule to prevent empty links from occupying connection and session resources for a long time.
Configuration example: (note the separation of white characters)
admin G ( timeout 300 ) 192.168.1.54:* ( maxclients 2 ) - 192.168.1.54:8060 ;
* Add the source address set attribute in the rule entity to control the number of client connections "maxclients": Each rule configures the maximum number of connections per client network address to prevent malicious large connection attacks.
Configuration example: (note the white character separation)
webdog2 RR *.*.*.*:* ( maxclients 5 ) - 192.168.1.54:8080 > 192.168.1.79:8089 192.168.1.79:8090 192.168.1.79:8091 ;

so far epoll( ET)'s non-blocking and fully asynchronous application layer framework has been fully implemented, mainly including the following:
* Application layer framework based on epoll (ET) event processing.
* A non-blocking asynchronous implementation of the server connect after accepting the client connection.
* When recv client data is forwarded to the send server, non-blocking asynchronous implementation when the forwarding speed is less than the receiving speed.
* The concurrent isolation of client and server requests and responses at the forwarding end.

{{o.name}}
{{m.name}}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324108764&siteId=291194637