āĻŽā§āĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯:
- āĻ¨āĻ¤ā§āĻ¨ API āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž , āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ REST Web API āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĢā§āĻ˛āĻžāĻāĻ¤ā§ HAProxy āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¸āĻš, āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¸āĻ°āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, ACL āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ°āĻžāĻāĻāĻŋāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻāĻĒāĻŋāĻ¤ā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨; - nbthread āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻā§āĻ° CPU-āĻ¤ā§ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ HAProxy-āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ CPU āĻā§āĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻāĻĄ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄāĨ¤ āĻšāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻŽāĻŋāĻ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§, āĻ ā§āĻ¯āĻžāĻ¸ā§āĻŽā§āĻŦāĻ˛āĻŋ āĻ āĻĒāĻļāĻ¨ MAX_THREADS āĻāĻŦāĻ MAX_PROCS āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻĨā§āĻ°ā§āĻĄ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻŽāĻž āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°ā§;
- āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§āĻ° āĻāĻŦāĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ¨ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻšāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ - āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻĨā§āĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
- āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ - āĻ˛āĻāĻāĻŋ āĻāĻāĻ¨ stdout āĻāĻŦāĻ stderr, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¨ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ¤ā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "log fd@1 local0");
- HTX (āĻ¨ā§āĻāĻŋāĻ āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ¨ā§āĻā§āĻļāĻ¨) āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻā§, āĻāĻ¨ā§āĻĄ-āĻā§-āĻāĻ¨ā§āĻĄ HTTP/2, āĻ˛ā§āĻ¯āĻŧāĻžāĻ° 7 āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻ¯āĻŧāĻžāĻ¸ āĻāĻŦāĻ gRPC-āĻāĻ° āĻŽāĻ¤ā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ HTX āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽāĻā§āĻ˛āĻŋāĻā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻļā§āĻˇā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻŦāĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°ā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ HTTP āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻ¯ā§āĻā§āĻ¨ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ°ā§āĻĒāĻā§āĻ˛āĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ, āĻšā§āĻĄāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽā§āĻ˛ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ HTTP/2 āĻĨā§āĻā§ HTTP/1.1 āĻāĻŦāĻ āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻā§āĻāĻ¤āĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§;
- āĻāĻ¨ā§āĻĄ-āĻā§-āĻāĻ¨ā§āĻĄ HTTP/2 āĻŽā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (HTTP/2-āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻžāĻĒā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ, āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄā§ āĻāĻ˛ āĻ¸āĻš, āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻ¯āĻŧ);
- gRPC āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻĻā§āĻŦāĻŋāĻŽā§āĻā§ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ gRPC āĻ¸ā§āĻā§āĻ°ā§āĻŽ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž, āĻĒā§āĻĨāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻšāĻžāĻāĻ˛āĻžāĻāĻ, āĻ˛āĻā§ gRPC āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ ACL āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻš āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ gRPC āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻžāĻ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ āĻāĻŋāĻāĻ°āĻĒāĻŋāĻ¸āĻŋ-āĻ¤ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ HTTP/2 āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻāĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦāĻžāĻĢāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤
- "āĻ˛ā§āĻ¯āĻŧāĻžāĻ° 7 āĻ°āĻŋāĻā§āĻ°āĻžāĻāĻ¸" āĻŽā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻŦāĻžāĻ°āĻŦāĻžāĻ° HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻā§āĻ¨āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻž āĻĨāĻžāĻā§ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨāĻžāĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨)āĨ¤ āĻŽā§āĻĄāĻāĻŋ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§, "āĻ āĻā§āĻˇāĻŽ-l7-āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻāĻžāĻ°" āĻĒāĻ¤āĻžāĻāĻžāĻāĻŋ "http-āĻ āĻ¨ā§āĻ°ā§āĻ§" āĻŦāĻŋāĻāĻ˛ā§āĻĒā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ, āĻļā§āĻ¨āĻž āĻāĻŦāĻ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻŦāĻŋāĻāĻžāĻā§ āĻĢāĻžāĻāĻ¨-āĻāĻŋāĻāĻ¨āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ "āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻā§āĻˇā§āĻāĻž-āĻ āĻ¨" āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŋāĻšā§āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§: āĻ¸āĻŽāĻ¸ā§āĻ¤-āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ-āĻĒā§āĻ°āĻ¯āĻŧāĻžāĻ¸āĻ¯ā§āĻā§āĻ¯-āĻ¤ā§āĻ°ā§āĻāĻŋ, āĻāĻŋāĻā§āĻ āĻ¨āĻ¯āĻŧ, conn-āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž, āĻāĻžāĻ˛āĻŋ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻāĻžāĻā§āĻ-āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž-āĻ¸āĻŽāĻ¯āĻŧ āĻļā§āĻˇ, 0rtt-āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻā§āĻĄāĻā§āĻ˛āĻŋ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§āĻ˛āĻ (404, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) ;
- āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ HAProxy-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻ˛āĻŋāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄā§āĻāĻž āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ API (/usr/sbin/dataplaneapi), āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻĢāĻ˛ā§āĻĄ āĻ¸ā§āĻā§āĻ°ā§āĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻāĻā§āĻāĻŋāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§āĻ° āĻāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ; - SPOE (āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻ āĻĢāĻ˛ā§āĻĄ āĻāĻā§āĻāĻŋāĻ¨) āĻāĻŦāĻ SPOP (āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻ āĻĢāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛) āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ .NET āĻā§āĻ°, āĻā§, āĻ˛ā§āĻ¯āĻŧāĻž āĻāĻŦāĻ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻĒā§āĻ°ā§āĻŦā§, āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŋ-āĻ¤ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻāĻŋāĻ˛;
- āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻŽāĻŋāĻ°āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ¸ā§āĻĒā§āĻ¯āĻŧāĻž-āĻŽāĻŋāĻ°āĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° (/usr/sbin/spoa-āĻŽāĻŋāĻ°āĻ°) āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ˛ā§āĻĄā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻ āĻāĻļ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯);
- āĻāĻŽāĻžāĻĻāĻžāĻ¨āĻāĻžāĻ°ā§
HAProxy Kubernetes āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ° Kubernetes āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§; - āĻŽāĻ¨āĻŋāĻāĻ°āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻāĻ¸ ; - āĻĒāĻŋāĻ¯āĻŧāĻžāĻ°ā§āĻ¸ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛, HAProxy āĻāĻžāĻ˛āĻŋāĻ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤, āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻšāĻžāĻ°ā§āĻāĻŦāĻŋāĻ āĻāĻŦāĻ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš;
- "āĻ˛āĻ" āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻ¯āĻŧ "āĻ¨āĻŽā§āĻ¨āĻž" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖāĻŽā§āĻ˛āĻ āĻ¨āĻŽā§āĻ¨āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ 1-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ 10āĻāĻŋ āĻ˛āĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻāĻļ āĻĄāĻžāĻŽā§āĻĒ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ;
- āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻŋāĻ āĻŽā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (profiling.tasks āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž, āĻ¯āĻž āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ, āĻāĻžāĻ˛ā§ āĻāĻŦāĻ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§)āĨ¤ āĻāĻĄāĻŧ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ 1000 ms āĻ āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°āĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻŋāĻ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§ˇ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻŋāĻ āĻĄā§āĻāĻž āĻĻā§āĻāĻ¤ā§, "āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻŋāĻ āĻĻā§āĻāĻžāĻ¨" āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻĒāĻŋāĻāĻāĻ¤ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻŦāĻž āĻ˛āĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ;
- SOCKS4 āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§;
- TCP āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻā§āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻĄ-āĻā§-āĻāĻ¨ā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (TFO - TCP āĻĢāĻžāĻ¸ā§āĻ āĻāĻĒā§āĻ¨, RFC 7413), āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ§āĻžāĻĒā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻāĻāĻĒ āĻ§āĻžāĻĒā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŽāĻžāĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻā§āĻ˛āĻžāĻ¸āĻŋāĻ 3-āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ˛ā§āĻāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻĄā§āĻāĻž āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§;
- āĻ¨āĻ¤ā§āĻ¨ āĻāĻ°ā§āĻŽ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
- āĻāĻāĻāĻŋ āĻ°ā§āĻā§āĻ˛āĻžāĻ° āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ URL āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ "http-request replace-uri";
- āĻšā§āĻ¸ā§āĻāĻ¨āĻžāĻŽ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ "tcp-āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻāĻ¨ā§āĻā§āĻ¨ā§āĻ āĻĄā§-āĻ¸āĻ˛āĻŋāĻ" āĻāĻŦāĻ "http-āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻĄā§-āĻ¸āĻ˛ā§āĻ";
- āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ "tcp-āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻžāĻŽāĻā§āĻ°ā§ āĻ¸ā§āĻ-dst" āĻāĻŦāĻ "tcp-āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻžāĻŽāĻā§āĻ°ā§ āĻ¸ā§āĻ-dst-āĻĒā§āĻ°ā§āĻ"āĨ¤
- āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
- AES128-GCM, AES192-GCM āĻāĻŦāĻ AES256-GCM āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸ā§āĻā§āĻ°ā§āĻŽ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ aes_gcm_dev;
- āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ protobuf;
- ungrpc āĻāĻŋāĻāĻ°āĻĒāĻŋāĻ¸āĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru