{"id":99423,"date":"2025-02-28T07:02:48","date_gmt":"2025-02-28T03:32:48","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/"},"modified":"2025-02-28T07:02:48","modified_gmt":"2025-02-28T03:32:48","slug":"load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/","title":{"rendered":"Balancer Load 101: \u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u0645\u0644\u06cc \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u06cc\u06a9 \u0634\u0628\u0647 \u0648\u06cc\u0631\u0648\u0633\u06cc \u0634\u0648\u062f"},"content":{"rendered":"<div data-article-id=\"2301902\" id=\"article-body\">\n<p>\u0627\u06cc\u0646 \u0631\u0627 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0646\u06cc\u062f: \u0634\u0645\u0627 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u0646\u0627\u06af\u0647\u0627\u0646 \u06cc\u06a9 \u0634\u0628\u0647 \u0648\u06cc\u0631\u0648\u0633\u06cc \u0645\u06cc \u0634\u0648\u062f. \u0647\u0632\u0627\u0631\u0627\u0646 \u0646\u0641\u0631 \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u0622\u0646 \u062c\u0627\u0631\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f \u060c \u0648 \u0633\u0631\u0648\u0631 \u06cc\u06a9 \u0628\u0627\u0631 Zippy \u0634\u0645\u0627 \u0645\u0627\u0646\u0646\u062f \u06a9\u0633\u06cc \u06a9\u0647 \u062a\u0635\u0645\u06cc\u0645 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0645\u0627\u0631\u0627\u062a\u0646 \u0628\u062f\u0648\u0646 \u0622\u0645\u0648\u0632\u0634 \u06af\u0631\u0641\u062a \u060c \u0634\u0631\u0648\u0639 \u0628\u0647 \u0646\u0641\u0633 \u06a9\u0634\u06cc\u062f\u0646 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u062e\u0632\u06cc\u062f\u0646 \u06a9\u0646\u062f \u0645\u06cc \u0634\u0648\u062f \u060c \u0628\u0627\u0631\u0647\u0627 \u0648 \u0628\u0627\u0631\u0647\u0627 \u062e\u0631\u0627\u0628 \u0645\u06cc \u0634\u0648\u062f \u0648 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062e\u0631\u0648\u062c \u0645\u062e\u0648\u0641 \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0628\u0648\u0633 \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644 \u062f\u0642\u06cc\u0642\u0627\u064b \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 <strong>\u062a\u0631\u0627\u0632\u0648 \u0628\u0627\u0631<\/strong> \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0637\u0631\u0627\u062d\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%DA%86%D8%B1%D8%A7_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%B4%D9%85%D8%A7_%D8%A8%D9%87_%DB%8C%DA%A9_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D8%B1%D8%AF_%D9%82%D8%A8%D9%84_%D8%A7%D8%B2_%D8%A7%DB%8C%D9%86%DA%A9%D9%87_%D8%AE%DB%8C%D9%84%DB%8C_%D8%AF%DB%8C%D8%B1_%D8%B4%D9%88%D8%AF\" >\u0686\u0631\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f (\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062e\u06cc\u0644\u06cc \u062f\u06cc\u0631 \u0634\u0648\u062f)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%DA%86%DA%AF%D9%88%D9%86%D9%87_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D9%87%D8%A7_%D8%AC%D8%A7%D8%AF%D9%88%DB%8C_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D9%86%D8%AF\" >\u0686\u06af\u0648\u0646\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u062c\u0627\u062f\u0648\u06cc \u062e\u0648\u062f \u0631\u0627 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D8%B3%D8%A7%D8%AE%D8%AA%D9%86_%D8%A7%D9%88%D9%84%DB%8C%D9%86_%D8%A8%D8%A7%D9%84%D8%A7%D9%86%D8%B3%D8%B1_%D8%A8%D8%A7%D8%B1_%D8%AE%D9%88%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DB%8C\" >\u0633\u0627\u062e\u062a\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0644\u0627\u0646\u0633\u0631 \u0628\u0627\u0631 \u062e\u0648\u062f: \u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u0645\u0644\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D9%87%D8%A7%D8%AF%DB%8C_%D8%AA%D8%B1%D8%A7%D9%81%DB%8C%DA%A9_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF_NGINX\" >\u0645\u0631\u062d\u0644\u0647 1: \u0647\u0627\u062f\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0648\u062f \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f (NGINX)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D8%B3%D8%B1%D9%88%D8%B1_%DB%8C%DA%A9%D8%B3%D8%A7%D9%86_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF_nodejs\" >\u0645\u0631\u062d\u0644\u0647 2: \u0686\u0646\u062f\u06cc\u0646 \u0633\u0631\u0648\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f (node.js)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_nginx_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B9%D9%86%D9%88%D8%A7%D9%86_maestro_%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%D8%AE%D9%88%D8%AF_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: nginx \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 maestro \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u062e\u0648\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D8%B4%D8%A7%D9%87%D8%AF_%D8%B3%D9%85%D9%81%D9%88%D9%86%DB%8C_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 4: \u0634\u0627\u0647\u062f \u0633\u0645\u0641\u0648\u0646\u06cc \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u0627\u0634\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D8%A7%D8%B2_%D9%BE%D8%B1%D9%88%DA%98%D9%87_Hobby_%DA%AF%D8%B1%D9%81%D8%AA%D9%87_%D8%AA%D8%A7_Enterprise-%D8%A2%D9%85%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%A8%D8%A7_Docker\" >\u0627\u0632 \u067e\u0631\u0648\u0698\u0647 Hobby \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 Enterprise-\u0622\u0645\u0627\u062f\u0647: \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0627 Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%AE%D9%88%D8%AF_%DB%8C%DA%A9_dockerfile_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 1: \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u06cc\u06a9 dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A2%D9%87%D9%86%DA%AF%D8%B3%D8%A7%D8%B2%DB%8C_Docker_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 2: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0647\u0646\u06af\u0633\u0627\u0632\u06cc Docker \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%DB%8C%DA%A9_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A7%D8%AE%D8%AA%D8%B5%D8%A7%D8%B5%DB%8C_nginx_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: \u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u062e\u062a\u0635\u0627\u0635\u06cc nginx \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%B4%D8%AF%D9%87_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 4: \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D9%82%DB%8C%D8%A7%D8%B3_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%B3%DB%8C%D8%AF%DA%AF%DB%8C_%D8%A8%D9%87_%DB%8C%DA%A9_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88%DB%8C%D8%B1%D9%88%D8%B3%DB%8C_%D8%B1%D9%81%D8%AA%D9%86_%D8%A8%D9%87_%D8%A7%D8%A8%D8%B1_%D8%A8%D9%88%D9%85%DB%8C\" >\u0645\u0642\u06cc\u0627\u0633 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u06cc\u06a9 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u06cc\u0631\u0648\u0633\u06cc: \u0631\u0641\u062a\u0646 \u0628\u0647 \u0627\u0628\u0631 \u0628\u0648\u0645\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%AA%D8%B5%D9%88%DB%8C%D8%B1_Docker_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%DB%8C%DA%A9_%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C_%D9%81%D8%B4%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 1: \u062a\u0635\u0648\u06cc\u0631 Docker \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_Kubernetes_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%AA%D8%B9%D8%B1%DB%8C%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 2: \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes \u062e\u0648\u062f \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%DB%8C%DA%A9_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_Kubernetes_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 Kubernetes \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D9%85%D9%82%DB%8C%D8%A7%D8%B3_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1_%D8%B1%D8%A7_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 4: \u0645\u0642\u06cc\u0627\u0633 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_5_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_Kubernetes\" >\u0645\u0631\u062d\u0644\u0647 5: \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 Kubernetes<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D8%A7%D8%B3%D8%AA%D8%B1%D8%A7%D8%AA%DA%98%DB%8C_%D9%87%D8%A7%DB%8C_%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AC%D8%A7%D9%87_%D8%B7%D9%84%D8%A8\" >\u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627\u06cc \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0628\u0631\u0627\u06cc \u062c\u0627\u0647 \u0637\u0644\u0628<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D9%BE%D8%A7%DB%8C%D8%A7%D9%86_%DA%A9%D8%A7%D8%A8%D9%88%D8%B3_%D9%87%D8%A7%DB%8C_%D8%B3%D8%B1%D9%88%D8%B1_%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\" >\u067e\u0627\u06cc\u0627\u0646 \u06a9\u0627\u0628\u0648\u0633 \u0647\u0627\u06cc \u0633\u0631\u0648\u0631: \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/nabfollower.com\/blog\/load-balancer-101-taming-the-traffic-tsunami-a-practical-guide-2k1a\/#%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B9%DB%8C%D8%A8_%DB%8C%D8%A7%D8%A8%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9\" >\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u06cc\u0628 \u06cc\u0627\u0628\u06cc \u0633\u0631\u06cc\u0639<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  <strong>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0686\u06cc\u0633\u062a\u061f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>-> \u0647\u0627\u062f\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644<\/p>\n<p>\u0628\u0647 \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06a9\u0627\u0631\u0622\u0645\u062f\u062a\u0631\u06cc\u0646 \u0647\u0627\u062f\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062c\u0647\u0627\u0646 \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 \u062a\u0642\u0627\u0637\u0639 \u0634\u0644\u0648\u063a \u0627\u06cc\u0633\u062a\u0627\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06cc\u06a9 \u062c\u0627\u062f\u0647 \u0648\u0627\u062d\u062f \u0628\u0627 \u0627\u062a\u0648\u0645\u0628\u06cc\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0631\u0648\u0628\u0631\u0648 \u0634\u0648\u062f \u060c \u0627\u06cc\u0646 \u0647\u0627\u062f\u06cc \u0628\u0647 \u0637\u0631\u0632 \u0645\u0627\u0647\u0631\u0627\u0646\u0647 \u0627\u06cc \u0648\u0633\u0627\u06cc\u0644 \u0646\u0642\u0644\u06cc\u0647 \u0631\u0627 \u0628\u0647 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc \u06a9\u0645\u062a\u0631 \u067e\u0631 \u0627\u0632\u062f\u062d\u0627\u0645 \u0633\u0648\u0642 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0647\u0645\u0647 \u0627\u0641\u0631\u0627\u062f \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u0631 \u0646\u0627\u0627\u0645\u06cc\u062f\u06cc \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f \u0628\u0647 \u0645\u0642\u0635\u062f \u062e\u0648\u062f \u0645\u06cc \u0631\u0633\u0646\u062f.<\/p>\n<p>\u0627\u0632 \u0646\u0638\u0631 \u0641\u0646\u06cc \u060c \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0628\u0627 \u0647\u0648\u0634\u0645\u0646\u062f\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u0646\u0645\u0648\u0646\u0647 \u0633\u0631\u0648\u0631 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0646\u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0647\u06cc\u0686 \u0633\u0631\u0648\u0631 \u0645\u0646\u0641\u0631\u062f \u0627\u0632 \u0633\u0646\u0628\u0644\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0631\u062e\u0648\u0631\u062f\u0627\u0631 \u0646\u0628\u0627\u0634\u062f \u060c \u062f\u0642\u06cc\u0642\u0627\u064b \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u06cc\u06a9 \u0646\u0641\u0631 \u0646\u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u062f\u0627\u0634\u062a\u0646 \u067e\u0646\u062c \u062f\u0648\u0633\u062a \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0628\u0647 \u06cc\u06a9 \u067e\u06cc\u0627\u0646\u0648 \u062f\u0631 \u0637\u0628\u0642\u0647 \u0628\u0627\u0644\u0627 \u062d\u0645\u0644 \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%B4%D9%85%D8%A7_%D8%A8%D9%87_%DB%8C%DA%A9_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D8%B1%D8%AF_%D9%82%D8%A8%D9%84_%D8%A7%D8%B2_%D8%A7%DB%8C%D9%86%DA%A9%D9%87_%D8%AE%DB%8C%D9%84%DB%8C_%D8%AF%DB%8C%D8%B1_%D8%B4%D9%88%D8%AF\"><\/span>\n<p>  <strong>\u0686\u0631\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f (\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062e\u06cc\u0644\u06cc \u062f\u06cc\u0631 \u0634\u0648\u062f)<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>\n<p><strong>\u0627\u0632 \u0622\u063a\u0648\u0634 \u0645\u0631\u06af \u0632\u0646\u062f\u0647 \u0628\u0645\u0627\u0646\u06cc\u062f<\/strong>: \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u06cc\u062f\u0647 \u062f\u0631\u062e\u0634\u0627\u0646 \u0634\u0645\u0627 \u0628\u0647 \u0635\u0641\u062d\u0647 \u0627\u0648\u0644 \u0628\u0631\u062e\u0648\u0631\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0647\u0632\u0627\u0631\u0627\u0646 \u0628\u0627\u0632\u062f\u06cc\u062f \u06a9\u0646\u0646\u062f\u0647 \u06a9\u0646\u062c\u06a9\u0627\u0648 \u0628\u0647 \u0637\u0648\u0631 \u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0627\u0632\u062f\u06cc\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u0647 \u062c\u0627\u06cc \u062a\u0645\u0627\u0634\u0627\u06cc \u0633\u0631\u0648\u0631 \u0634\u0645\u0627 \u0628\u0647 \u0637\u0631\u0632 \u062a\u0645\u0627\u0634\u0627\u06cc\u06cc \u060c \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627\u0644\u0627 \u0631\u0627 \u062d\u0641\u0638 \u06a9\u0646\u06cc\u062f<\/strong>: \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0633\u0627\u06cc\u062a\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u06cc\u0634 \u0627\u0632 3 \u062b\u0627\u0646\u06cc\u0647 \u0637\u0648\u0644 \u0645\u06cc \u06a9\u0634\u062f \u060c \u0631\u0647\u0627 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e\u06af\u0648\u06cc\u06cc \u0628\u0647 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0627\u0641\u06cc \u0633\u0631\u06cc\u0639 \u0645\u06cc \u06af\u0630\u0627\u0631\u062f \u06a9\u0647 \u062d\u062a\u06cc \u0628\u06cc \u062a\u0627\u0628 \u062a\u0631\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648\u0642\u062a \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u0628\u0647 \u062f\u06a9\u0645\u0647 \u067e\u0634\u062a \u062e\u0648\u062f \u0631\u0627 \u0646\u062f\u0627\u0631\u0646\u062f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 Tantrums \u0631\u0627 \u067e\u0631\u062a\u0627\u0628 \u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631 \u0628\u0627\u0634\u06cc\u062f<\/strong>: \u0633\u0631\u0648\u0631\u0647\u0627 \u0633\u0642\u0648\u0637 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0648\u0627\u0642\u0639\u06cc\u062a \u0646\u0627\u06af\u0648\u0627\u0631 \u0627\u0632 \u0632\u0646\u062f\u06af\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644 \u0627\u0633\u062a. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0645\u06cc \u0631\u0648\u062f \u0648 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0628\u0647 \u0633\u0645\u062a \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0633\u0627\u0644\u0645 \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f \u060c \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc \u0634\u0648\u062f \u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0647\u0631\u06af\u0632 \u067e\u06cc\u0627\u0645 &#8220;\u0627\u062a\u0635\u0627\u0644 \u0645\u062e\u0648\u0641&#8221; \u0631\u0627 \u062a\u062c\u0631\u0628\u0647 \u0646\u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0645\u0642\u06cc\u0627\u0633 \u0628\u062f\u0648\u0646 \u0648\u062d\u0634\u062a<\/strong>: \u0628\u0627 \u0631\u0634\u062f \u067e\u0627\u06cc\u0647 \u06a9\u0627\u0631\u0628\u0631 \u060c \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0633\u062a\u062e\u0631 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0627\u0644\u0627\u0646\u0633\u0631 \u0628\u0627\u0631 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0631\u062c \u0645\u06cc \u06a9\u0646\u062f \u060c \u0645\u0627\u0646\u0646\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062e\u0637\u0648\u0637 \u067e\u0631\u062f\u0627\u062e\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u06cc\u06a9 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0645\u0648\u0627\u062f \u063a\u0630\u0627\u06cc\u06cc \u0634\u0644\u0648\u063a.<\/p>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%DA%AF%D9%88%D9%86%D9%87_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D9%87%D8%A7_%D8%AC%D8%A7%D8%AF%D9%88%DB%8C_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D9%86%D8%AF\"><\/span>\n<p>  <strong>\u0686\u06af\u0648\u0646\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u062c\u0627\u062f\u0648\u06cc \u062e\u0648\u062f \u0631\u0627 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0648\u0627\u0632\u0646 \u0628\u0627\u0631 \u0627\u0632 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f \u0631\u06cc\u0627\u0636\u06cc\u062f\u0627\u0646\u0627\u0646 \u0644\u0628\u062e\u0646\u062f \u0628\u0632\u0646\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u0646\u062f \u0645\u0648\u0631\u062f \u0627\u0632 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<ul>\n<li>\n<p><strong>\u0631\u0627\u0628\u06cc\u0646 \u06af\u0631\u062f<\/strong>: \u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0648\u0627\u0644\u062f\u06cc\u0646\u06cc \u06a9\u0647 \u06a9\u0627\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u0627\u0648\u06cc \u062f\u0631 \u0628\u06cc\u0646 \u06a9\u0648\u062f\u06a9\u0627\u0646 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f. &#8220;\u0634\u0645\u0627 \u0638\u0631\u0648\u0641 \u0631\u0627 \u0645\u06cc \u0634\u06a9\u0646\u06cc\u062f \u060c \u062e\u0644\u0627\u0621 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u060c \u0633\u0637\u0644 \u0632\u0628\u0627\u0644\u0647 \u0631\u0627 \u0628\u06cc\u0631\u0648\u0646 \u0645\u06cc \u0622\u0648\u0631\u06cc\u062f \u060c \u0648 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0627\u06cc \u0644\u0628\u0627\u0633\u0634\u0648\u06cc\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0628\u0627\u0632 \u0645\u06cc \u06af\u0631\u062f\u06cc\u062f.&#8221; \u0633\u0627\u062f\u0647 \u060c \u0645\u0646\u0635\u0641\u0627\u0646\u0647 \u0648 \u0645\u0624\u062b\u0631 \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc\u06cc \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u0645\u0634\u0627\u0628\u0647.<\/p>\n<\/li>\n<li>\n<p><strong>\u062d\u062f\u0627\u0642\u0644 \u0627\u062a\u0635\u0627\u0644\u0627\u062a<\/strong>: \u0627\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u062e\u0637 \u067e\u0631\u062f\u0627\u062e\u062a \u0628\u0627 \u06a9\u0645\u062a\u0631\u06cc\u0646 \u062e\u0631\u06cc\u062f\u0627\u0631\u0627\u0646 \u0627\u0633\u062a. Balancer Load \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u06a9\u0645\u062a\u0631\u06cc\u0646 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0641\u0639\u0627\u0644 \u0631\u0627 \u0627\u062f\u0627\u0631\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0645\u0627\u0646\u0639 \u0627\u0632 \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u0646 \u0647\u0631 \u0633\u0631\u0648\u0631 \u0648\u0627\u062d\u062f \u0628\u0647 \u0633\u0631\u067e\u0631\u0633\u062a \u06a9\u0627\u0631\u06cc \u0628\u062f\u0634\u0627\u0646\u0633 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA%D9%86_%D8%A7%D9%88%D9%84%DB%8C%D9%86_%D8%A8%D8%A7%D9%84%D8%A7%D9%86%D8%B3%D8%B1_%D8%A8%D8%A7%D8%B1_%D8%AE%D9%88%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DB%8C\"><\/span>\n<p>  <strong>\u0633\u0627\u062e\u062a\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0644\u0627\u0646\u0633\u0631 \u0628\u0627\u0631 \u062e\u0648\u062f: \u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u0645\u0644\u06cc<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0633\u062a\u0627\u0646 \u062e\u0648\u062f \u0631\u0627 \u06a9\u062b\u06cc\u0641 \u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062a\u0646\u0638\u06cc\u0645 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0633\u0627\u062f\u0647 \u0627\u0645\u0627 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0633\u0627\u0632\u06cc\u0645 <strong>\u0686\u06cc\u0632 \u06a9\u0648\u0686\u06a9<\/strong> \u0648\u062a <strong>node.js<\/strong>\u0628\u0634\u0631 \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u060c \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u06a9\u0627\u0631\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a \u06a9\u0647 \u0627\u0635\u0648\u0644 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0631\u0627 \u062f\u0631 \u0639\u0645\u0644 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D9%87%D8%A7%D8%AF%DB%8C_%D8%AA%D8%B1%D8%A7%D9%81%DB%8C%DA%A9_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF_NGINX\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 1: \u0647\u0627\u062f\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0648\u062f \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f (NGINX)<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0648\u0644 \u060c \u0645\u0627 \u0628\u0627\u06cc\u062f nginx \u060c maestro \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>  brew <span class=\"nb\">install <\/span>nginx\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>  <span class=\"nb\">sudo <\/span>apt update\n  <span class=\"nb\">sudo <\/span>apt <span class=\"nb\">install <\/span>nginx\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D8%B3%D8%B1%D9%88%D8%B1_%DB%8C%DA%A9%D8%B3%D8%A7%D9%86_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF_nodejs\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 2: \u0686\u0646\u062f\u06cc\u0646 \u0633\u0631\u0648\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f (node.js)<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062d\u0627\u0644 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u06a9\u0633\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0645\u0627 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f:<\/p>\n<ol>\n<li>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062e\u0627\u0646\u0647 \u067e\u0631\u0648\u0698\u0647:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nb\">mkdir <\/span>load-balancer-lab\n   <span class=\"nb\">cd <\/span>load-balancer-lab\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0633\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f (<code>app.js<\/code>) \u0627\u06cc\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u062f\u06cc\u062f \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code>   <span class=\"kd\">const<\/span> <span class=\"nx\">http<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">http<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n   <span class=\"c1\">\/\/ Get port from environment or default to 3000<\/span>\n   <span class=\"kd\">const<\/span> <span class=\"nx\">port<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PORT<\/span> <span class=\"o\">||<\/span> <span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n\n   <span class=\"c1\">\/\/ Create our humble server<\/span>\n   <span class=\"kd\">const<\/span> <span class=\"nx\">server<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">createServer<\/span><span class=\"p\">((<\/span><span class=\"nx\">req<\/span><span class=\"p\">,<\/span> <span class=\"nx\">res<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n       <span class=\"c1\">\/\/ Send a response that identifies which server instance responded<\/span>\n       <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nf\">writeHead<\/span><span class=\"p\">(<\/span><span class=\"mi\">200<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Content-Type<\/span><span class=\"dl\">'<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">text\/plain<\/span><span class=\"dl\">'<\/span> <span class=\"p\">});<\/span>\n       <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nf\">end<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Hello! I'm the server running on port <\/span><span class=\"p\">${<\/span><span class=\"nx\">port<\/span><span class=\"p\">}<\/span><span class=\"s2\">. At your service!\\n`<\/span><span class=\"p\">);<\/span>\n   <span class=\"p\">});<\/span>\n\n   <span class=\"c1\">\/\/ Start listening for requests<\/span>\n   <span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nf\">listen<\/span><span class=\"p\">(<\/span><span class=\"nx\">port<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n       <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Server #<\/span><span class=\"p\">${<\/span><span class=\"nx\">port<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">3000<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">}<\/span><span class=\"s2\"> is alive and listening on port <\/span><span class=\"p\">${<\/span><span class=\"nx\">port<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n   <span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u0633\u0647 \u0646\u0645\u0648\u0646\u0647 \u0633\u0631\u0648\u0631 \u06cc\u06a9\u0633\u0627\u0646 \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f \u060c \u0647\u0631 \u06a9\u062f\u0627\u0645 \u062f\u0631 \u062f\u0631\u06af\u0627\u0647 \u0645\u062a\u0641\u0627\u0648\u062a:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nv\">PORT<\/span><span class=\"o\">=<\/span>3000 node app.js\n   <span class=\"c\"># Open a new terminal window<\/span>\n   <span class=\"nv\">PORT<\/span><span class=\"o\">=<\/span>3001 node app.js\n   <span class=\"c\"># Open another terminal window<\/span>\n   <span class=\"nv\">PORT<\/span><span class=\"o\">=<\/span>3002 node app.js\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_nginx_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%B9%D9%86%D9%88%D8%A7%D9%86_maestro_%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%D8%AE%D9%88%D8%AF_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 3: nginx \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 maestro \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u062e\u0648\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u0645\u0648\u0646\u0647 \u0647\u0627\u06cc \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0628\u0647 NGINX \u0645\u06cc \u06af\u0648\u06cc\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u06cc\u0646 \u0622\u0646\u0647\u0627 \u062a\u0648\u0632\u06cc\u0639 \u0634\u0648\u062f:<\/p>\n<ol>\n<li>\n<p>\u067e\u0631\u0648\u0646\u062f\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc NGINX \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<ul>\n<li>\u062f\u0631 MACOS: <code>sudo nano \/usr\/local\/etc\/nginx\/nginx.conf<\/code>\n<\/li>\n<li>\u062f\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633: <code>sudo nano \/etc\/nginx\/nginx.conf<\/code>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06cc\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code>   <span class=\"k\">http<\/span> <span class=\"p\">{<\/span>\n       <span class=\"c1\"># Include mime types (important to keep this if it exists in your file)<\/span>\n       <span class=\"kn\">include<\/span>       <span class=\"s\">mime.types<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">default_type<\/span>  <span class=\"nc\">application\/octet-stream<\/span><span class=\"p\">;<\/span>\n\n       <span class=\"c1\"># Define our group of application servers<\/span>\n       <span class=\"kn\">upstream<\/span> <span class=\"s\">application_servers<\/span> <span class=\"p\">{<\/span>\n           <span class=\"kn\">server<\/span> <span class=\"nf\">127.0.0.1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># Server #1<\/span>\n           <span class=\"kn\">server<\/span> <span class=\"nf\">127.0.0.1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3001<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># Server #2<\/span>\n           <span class=\"kn\">server<\/span> <span class=\"nf\">127.0.0.1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3002<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># Server #3<\/span>\n\n           <span class=\"c1\"># Using round robin by default - simple but effective!<\/span>\n       <span class=\"p\">}<\/span>\n\n       <span class=\"c1\"># Configure our web server<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"p\">{<\/span>\n           <span class=\"kn\">listen<\/span> <span class=\"mi\">80<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># Listen on the standard HTTP port<\/span>\n\n           <span class=\"kn\">location<\/span> <span class=\"n\">\/<\/span> <span class=\"p\">{<\/span>\n               <span class=\"c1\"># Pass requests to our application servers<\/span>\n               <span class=\"kn\">proxy_pass<\/span> <span class=\"s\">http:\/\/application_servers<\/span><span class=\"p\">;<\/span>\n\n               <span class=\"c1\"># Forward important headers<\/span>\n               <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">Host<\/span> <span class=\"nv\">$host<\/span><span class=\"p\">;<\/span>\n               <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">X-Real-IP<\/span> <span class=\"nv\">$remote_addr<\/span><span class=\"p\">;<\/span>\n               <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">X-Forwarded-For<\/span> <span class=\"nv\">$proxy_add_x_forwarded_for<\/span><span class=\"p\">;<\/span>\n\n               <span class=\"c1\"># Add a custom header to see load balancing in action<\/span>\n               <span class=\"kn\">add_header<\/span> <span class=\"s\">X-Load-Balanced<\/span> <span class=\"s\">\"Yes,<\/span> <span class=\"s\">magic<\/span> <span class=\"s\">is<\/span> <span class=\"s\">happening!\"<\/span><span class=\"p\">;<\/span>\n           <span class=\"p\">}<\/span>\n       <span class=\"p\">}<\/span>\n   <span class=\"p\">}<\/span>\n\n   <span class=\"c1\"># Don't forget to keep the events block if it exists<\/span>\n   <span class=\"k\">events<\/span> <span class=\"p\">{<\/span>\n       <span class=\"kn\">worker_connections<\/span> <span class=\"mi\">1024<\/span><span class=\"p\">;<\/span>\n   <span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<p>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0647 \u0648 nginx \u0631\u0627 \u0645\u062c\u062f\u062f\u0627\u064b \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"highlight shell\"><code> nginx <span class=\"nt\">-t<\/span>  <span class=\"c\"># Test the configuration<\/span>\n brew services restart nginx  <span class=\"c\"># Restart Nginx<\/span>\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D8%B4%D8%A7%D9%87%D8%AF_%D8%B3%D9%85%D9%81%D9%88%D9%86%DB%8C_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D8%A8%D8%A7%D8%B1_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 4: \u0634\u0627\u0647\u062f \u0633\u0645\u0641\u0648\u0646\u06cc \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u0627\u0634\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062d\u0627\u0644\u0627 \u0628\u0631\u0627\u06cc \u0644\u062d\u0638\u0647 \u062d\u0642\u06cc\u0642\u062a! \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u0627 \u0631\u0627 \u062f\u0631 \u0639\u0645\u0644 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<ol>\n<li>\u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0686\u0646\u062f\u06cc\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"k\">for <\/span>i <span class=\"k\">in<\/span> <span class=\"o\">{<\/span>1..10<span class=\"o\">}<\/span><span class=\"p\">;<\/span> <span class=\"k\">do <\/span>curl http:\/\/localhost<span class=\"p\">;<\/span> <span class=\"nb\">echo<\/span><span class=\"p\">;<\/span> <span class=\"k\">done<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<p>\u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0647\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u0648\u0633\u0637 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0633\u0631\u0648\u0631 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f. \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u067e\u0627\u0633\u062e \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u0628\u06cc\u0646 \u0633\u0647 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0645\u06cc \u0686\u0631\u062e\u062f \u200b\u200b\u060c \u062b\u0627\u0628\u062a \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 NGINX \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627 \u0631\u0627 \u062f\u0631 \u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062f \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0628\u0631\u0627\u06cc \u06cc\u06a9 \u062a\u062c\u0631\u0628\u0647 \u0628\u0635\u0631\u06cc \u060c \u0645\u0631\u0648\u0631\u06af\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0633\u0645\u062a \u0622\u0646 \u062d\u0631\u06a9\u062a \u06a9\u0646\u06cc\u062f <code>http:\/\/localhost<\/code>\u0628\u0634\u0631 \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u062a\u0627\u0632\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u062a\u063a\u06cc\u06cc\u0631 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0633\u0631\u0648\u0631 \u0631\u0627 \u062a\u0645\u0627\u0634\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B2_%D9%BE%D8%B1%D9%88%DA%98%D9%87_Hobby_%DA%AF%D8%B1%D9%81%D8%AA%D9%87_%D8%AA%D8%A7_Enterprise-%D8%A2%D9%85%D8%A7%D8%AF%D9%87_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%A8%D8%A7_Docker\"><\/span>\n<p>  <strong>\u0627\u0632 \u067e\u0631\u0648\u0698\u0647 Hobby \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 Enterprise-\u0622\u0645\u0627\u062f\u0647: \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0627 Docker<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u0622\u0632\u0645\u0627\u06cc\u0634 \u0645\u062d\u0644\u06cc \u0628\u0647 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u062a\u0648\u0644\u06cc\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f \u060c \u0628\u0627\u0644\u0627 \u0628\u0628\u0631\u06cc\u0645 <strong>\u0627\u0633\u06a9\u0644\u0647<\/strong> \u0648\u062a <strong>\u062f\u0627\u06a9\u0631 \u0622\u0647\u0646\u06af\u0633\u0627\u0632\u06cc<\/strong>\u0628\u0634\u0631<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%AE%D9%88%D8%AF_%DB%8C%DA%A9_dockerfile_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 1: \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u06cc\u06a9 dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647 node.js \u062e\u0648\u062f \u0631\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight docker\"><code><span class=\"c\"># Start with a lightweight Node.js image<\/span>\n<span class=\"k\">FROM<\/span><span class=\"s\"> node:16-alpine<\/span>\n\n<span class=\"c\"># Set the working directory inside the container<\/span>\n<span class=\"k\">WORKDIR<\/span><span class=\"s\"> \/app<\/span>\n\n<span class=\"c\"># Create a non-root user for security<\/span>\n<span class=\"k\">RUN <\/span>adduser <span class=\"nt\">-D<\/span> nodeuser\n\n<span class=\"c\"># Create a package.json (not strictly needed for our simple app, but good practice)<\/span>\n<span class=\"k\">RUN <\/span><span class=\"nb\">echo<\/span> <span class=\"s1\">'{\"name\":\"load-balanced-app\",\"version\":\"1.0.0\",\"main\":\"app.js\"}'<\/span> <span class=\"o\">&gt;<\/span> package.json\n\n<span class=\"c\"># Copy our application code<\/span>\n<span class=\"k\">COPY<\/span><span class=\"s\"> app.js .<\/span>\n\n<span class=\"c\"># Switch to the non-root user<\/span>\n<span class=\"k\">USER<\/span><span class=\"s\"> nodeuser<\/span>\n\n<span class=\"c\"># Tell Docker which port the application uses<\/span>\n<span class=\"k\">EXPOSE<\/span><span class=\"s\"> 3000<\/span>\n\n<span class=\"c\"># Command to run when the container starts<\/span>\n<span class=\"k\">CMD<\/span><span class=\"s\"> [\"node\", \"app.js\"]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A2%D9%87%D9%86%DA%AF%D8%B3%D8%A7%D8%B2%DB%8C_Docker_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 2: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0647\u0646\u06af\u0633\u0627\u0632\u06cc Docker \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062d\u0627\u0644 \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0622\u0647\u0646\u06af\u0633\u0627\u0632\u06cc Docker \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">3.8'<\/span>\n\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\n  <span class=\"c1\"># First application server<\/span>\n  <span class=\"na\">app1<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">PORT=3000<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">SERVER_NAME=Speedy<\/span>\n    <span class=\"na\">restart<\/span><span class=\"pi\">:<\/span> <span class=\"s\">always<\/span>\n    <span class=\"na\">networks<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">loadbalancer-net<\/span>\n\n  <span class=\"c1\"># Second application server  <\/span>\n  <span class=\"na\">app2<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">PORT=3000<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">SERVER_NAME=Zippy<\/span>\n    <span class=\"na\">restart<\/span><span class=\"pi\">:<\/span> <span class=\"s\">always<\/span>\n    <span class=\"na\">networks<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">loadbalancer-net<\/span>\n\n  <span class=\"c1\"># Third application server<\/span>\n  <span class=\"na\">app3<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">PORT=3000<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">SERVER_NAME=Nimble<\/span>\n    <span class=\"na\">restart<\/span><span class=\"pi\">:<\/span> <span class=\"s\">always<\/span>\n    <span class=\"na\">networks<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">loadbalancer-net<\/span>\n\n  <span class=\"c1\"># Nginx load balancer<\/span>\n  <span class=\"na\">loadbalancer<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">nginx:alpine<\/span>\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">80:80\"<\/span>\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">.\/nginx.conf:\/etc\/nginx\/nginx.conf:ro<\/span>\n    <span class=\"na\">restart<\/span><span class=\"pi\">:<\/span> <span class=\"s\">always<\/span>\n    <span class=\"na\">depends_on<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">app1<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">app2<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">app3<\/span>\n    <span class=\"na\">networks<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">loadbalancer-net<\/span>\n\n<span class=\"na\">networks<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">loadbalancer-net<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">driver<\/span><span class=\"pi\">:<\/span> <span class=\"s\">bridge<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%DB%8C%DA%A9_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A7%D8%AE%D8%AA%D8%B5%D8%A7%D8%B5%DB%8C_nginx_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 3: \u06cc\u06a9 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u062e\u062a\u0635\u0627\u0635\u06cc nginx \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f app.js \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631 \u0645\u062d\u06cc\u0637 server_name \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">http<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">http<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">port<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PORT<\/span> <span class=\"o\">||<\/span> <span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">serverName<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">SERVER_NAME<\/span> <span class=\"o\">||<\/span> <span class=\"s2\">`Server-<\/span><span class=\"p\">${<\/span><span class=\"nx\">port<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">server<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">http<\/span><span class=\"p\">.<\/span><span class=\"nf\">createServer<\/span><span class=\"p\">((<\/span><span class=\"nx\">req<\/span><span class=\"p\">,<\/span> <span class=\"nx\">res<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nf\">writeHead<\/span><span class=\"p\">(<\/span><span class=\"mi\">200<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Content-Type<\/span><span class=\"dl\">'<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">text\/plain<\/span><span class=\"dl\">'<\/span> <span class=\"p\">});<\/span>\n    <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nf\">end<\/span><span class=\"p\">(<\/span><span class=\"s2\">`Hello from <\/span><span class=\"p\">${<\/span><span class=\"nx\">serverName<\/span><span class=\"p\">}<\/span><span class=\"s2\">!\\nRequest handled at: <\/span><span class=\"p\">${<\/span><span class=\"k\">new<\/span> <span class=\"nc\">Date<\/span><span class=\"p\">().<\/span><span class=\"nf\">toISOString<\/span><span class=\"p\">()}<\/span><span class=\"s2\">\\n`<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nf\">listen<\/span><span class=\"p\">(<\/span><span class=\"nx\">port<\/span><span class=\"p\">,<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`<\/span><span class=\"p\">${<\/span><span class=\"nx\">serverName<\/span><span class=\"p\">}<\/span><span class=\"s2\"> is running on port <\/span><span class=\"p\">${<\/span><span class=\"nx\">port<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>nginx.conf<\/code> \u062f\u0631 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code><span class=\"k\">user<\/span>  <span class=\"s\">nginx<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">worker_processes<\/span>  <span class=\"s\">auto<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">error_log<\/span>  <span class=\"n\">\/var\/log\/nginx\/error.log<\/span> <span class=\"s\">warn<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">pid<\/span>        <span class=\"n\">\/var\/run\/nginx.pid<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">events<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">worker_connections<\/span>  <span class=\"mi\">1024<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">http<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kn\">include<\/span>       <span class=\"n\">\/etc\/nginx\/mime.types<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">default_type<\/span>  <span class=\"nc\">application\/octet-stream<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"kn\">log_format<\/span>  <span class=\"s\">main<\/span>  <span class=\"s\">'<\/span><span class=\"nv\">$remote_addr<\/span> <span class=\"s\">-<\/span> <span class=\"nv\">$remote_user<\/span> <span class=\"s\">[<\/span><span class=\"nv\">$time_local<\/span><span class=\"s\">]<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$request<\/span><span class=\"s\">\"<\/span> <span class=\"s\">'<\/span>\n                      <span class=\"s\">'<\/span><span class=\"nv\">$status<\/span> <span class=\"nv\">$body_bytes_sent<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$http_referer<\/span><span class=\"s\">\"<\/span> <span class=\"s\">'<\/span>\n                      <span class=\"s\">'\"<\/span><span class=\"nv\">$http_user_agent<\/span><span class=\"s\">\"<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$http_x_forwarded_for<\/span><span class=\"s\">\"<\/span> <span class=\"s\">'<\/span>\n                      <span class=\"s\">'\"<\/span><span class=\"nv\">$upstream_addr<\/span><span class=\"s\">\"<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$upstream_response_time<\/span><span class=\"s\">\"'<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"kn\">access_log<\/span>  <span class=\"n\">\/var\/log\/nginx\/access.log<\/span>  <span class=\"s\">main<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"kn\">sendfile<\/span>        <span class=\"no\">on<\/span><span class=\"p\">;<\/span>\n    <span class=\"kn\">keepalive_timeout<\/span>  <span class=\"mi\">65<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"c1\"># Load balancing configuration<\/span>\n    <span class=\"kn\">upstream<\/span> <span class=\"s\">app_servers<\/span> <span class=\"p\">{<\/span>\n        <span class=\"c1\"># Least connections algorithm - adapts better to varying load<\/span>\n        <span class=\"kn\">least_conn<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"kn\">server<\/span> <span class=\"nf\">app1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n        <span class=\"kn\">server<\/span> <span class=\"nf\">app2<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n        <span class=\"kn\">server<\/span> <span class=\"nf\">app3<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"c1\"># Enable session persistence (optional)<\/span>\n        <span class=\"c1\"># ip_hash;<\/span>\n\n        <span class=\"c1\"># Health checks and slow-start for production<\/span>\n        <span class=\"c1\"># server app1:3000 max_fails=3 fail_timeout=30s slow_start=30s;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"kn\">server<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kn\">listen<\/span> <span class=\"mi\">80<\/span><span class=\"p\">;<\/span>\n        <span class=\"kn\">server_name<\/span> <span class=\"s\">localhost<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"kn\">location<\/span> <span class=\"n\">\/<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kn\">proxy_pass<\/span> <span class=\"s\">http:\/\/app_servers<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">Host<\/span> <span class=\"nv\">$host<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">X-Real-IP<\/span> <span class=\"nv\">$remote_addr<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">proxy_set_header<\/span> <span class=\"s\">X-Forwarded-For<\/span> <span class=\"nv\">$proxy_add_x_forwarded_for<\/span><span class=\"p\">;<\/span>\n\n            <span class=\"c1\"># Add useful headers for debugging<\/span>\n            <span class=\"kn\">add_header<\/span> <span class=\"s\">X-Load-Balanced<\/span> <span class=\"s\">\"Yes\"<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">add_header<\/span> <span class=\"s\">X-Upstream-Server<\/span> <span class=\"nv\">$upstream_addr<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">add_header<\/span> <span class=\"s\">X-Response-Time<\/span> <span class=\"nv\">$upstream_response_time<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n\n        <span class=\"c1\"># Health check endpoint for monitoring tools<\/span>\n        <span class=\"kn\">location<\/span> <span class=\"n\">\/health<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kn\">return<\/span> <span class=\"mi\">200<\/span> <span class=\"s\">'Load<\/span> <span class=\"s\">balancer<\/span> <span class=\"s\">is<\/span> <span class=\"s\">healthy!'<\/span><span class=\"p\">;<\/span>\n            <span class=\"kn\">add_header<\/span> <span class=\"s\">Content-Type<\/span> <span class=\"nc\">text\/plain<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%DA%A9%D8%A7%D9%86%D8%AA%DB%8C%D9%86%D8%B1_%D8%B4%D8%AF%D9%87_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 4: \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062d\u0627\u0644 \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Build and start the containers<\/span>\ndocker-compose up <span class=\"nt\">--build<\/span> <span class=\"nt\">-d<\/span>\n\n<span class=\"c\"># Watch the logs to see requests being distributed<\/span>\ndocker-compose logs <span class=\"nt\">-f<\/span> loadbalancer\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u060c \u0645\u0631\u0648\u0631\u06af\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f <code>http:\/\/localhost<\/code> \u0648 \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u062a\u0627\u0632\u0647 \u06a9\u0646\u06cc\u062f \u060c \u06cc\u0627 \u0627\u0632 Curl \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">for <\/span>i <span class=\"k\">in<\/span> <span class=\"o\">{<\/span>1..20<span class=\"o\">}<\/span><span class=\"p\">;<\/span> <span class=\"k\">do <\/span>curl http:\/\/localhost<span class=\"p\">;<\/span> <span class=\"nb\">sleep <\/span>0.5<span class=\"p\">;<\/span> <span class=\"k\">done<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%DB%8C%D8%A7%D8%B3_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%B3%DB%8C%D8%AF%DA%AF%DB%8C_%D8%A8%D9%87_%DB%8C%DA%A9_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88%DB%8C%D8%B1%D9%88%D8%B3%DB%8C_%D8%B1%D9%81%D8%AA%D9%86_%D8%A8%D9%87_%D8%A7%D8%A8%D8%B1_%D8%A8%D9%88%D9%85%DB%8C\"><\/span>\n<p>  <strong>\u0645\u0642\u06cc\u0627\u0633 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u06cc\u06a9 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u06cc\u0631\u0648\u0633\u06cc: \u0631\u0641\u062a\u0646 \u0628\u0647 \u0627\u0628\u0631 \u0628\u0648\u0645\u06cc<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0646\u0627\u06af\u0647\u0627\u0646\u06cc \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u062f\u0627\u0631\u0647 \u0647\u0632\u0627\u0631\u0627\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0647\u0645\u0632\u0645\u0627\u0646 \u062f\u0627\u0631\u062f \u060c \u0648\u0642\u062a \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Kubernetes \u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0627\u0628\u0631 \u0628\u0631\u0633\u0627\u0646\u06cc\u0645 \u060c \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0635\u0646\u0639\u062a \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0634\u062f\u0647 \u0627\u0631\u06a9\u0633\u062a\u0631 \u062f\u0631 \u0645\u0642\u06cc\u0627\u0633.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%AA%D8%B5%D9%88%DB%8C%D8%B1_Docker_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A8%D9%87_%DB%8C%DA%A9_%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C_%D9%81%D8%B4%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 1: \u062a\u0635\u0648\u06cc\u0631 Docker \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u062a\u0635\u0648\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062e\u062f\u0645\u0627\u062a \u0627\u0628\u0631\u06cc \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Log in to Docker Hub<\/span>\ndocker login\n\n<span class=\"c\"># Tag your image<\/span>\ndocker build <span class=\"nt\">-t<\/span> yourusername\/load-balanced-app:latest <span class=\"nb\">.<\/span>\n\n<span class=\"c\"># Push to Docker Hub<\/span>\ndocker push yourusername\/load-balanced-app:latest\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_Kubernetes_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%AA%D8%B9%D8%B1%DB%8C%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 2: \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes \u062e\u0648\u062f \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>k8s-deployment.yaml<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">apps\/v1<\/span>\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">app-deployment<\/span>\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">load-balanced-app<\/span>\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">5<\/span>  <span class=\"c1\"># Start with 5 instances<\/span>\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">matchLabels<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">load-balanced-app<\/span>\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">load-balanced-app<\/span>\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">app<\/span>\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">yourusername\/load-balanced-app:latest<\/span>\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3000<\/span>\n        <span class=\"na\">resources<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">requests<\/span><span class=\"pi\">:<\/span>\n            <span class=\"na\">cpu<\/span><span class=\"pi\">:<\/span> <span class=\"s\">100m<\/span>\n            <span class=\"na\">memory<\/span><span class=\"pi\">:<\/span> <span class=\"s\">128Mi<\/span>\n          <span class=\"na\">limits<\/span><span class=\"pi\">:<\/span>\n            <span class=\"na\">cpu<\/span><span class=\"pi\">:<\/span> <span class=\"s\">500m<\/span>\n            <span class=\"na\">memory<\/span><span class=\"pi\">:<\/span> <span class=\"s\">256Mi<\/span>\n        <span class=\"na\">readinessProbe<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">httpGet<\/span><span class=\"pi\">:<\/span>\n            <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/<\/span>\n            <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3000<\/span>\n          <span class=\"na\">initialDelaySeconds<\/span><span class=\"pi\">:<\/span> <span class=\"m\">5<\/span>\n          <span class=\"na\">periodSeconds<\/span><span class=\"pi\">:<\/span> <span class=\"m\">10<\/span>\n        <span class=\"na\">livenessProbe<\/span><span class=\"pi\">:<\/span>\n          <span class=\"na\">httpGet<\/span><span class=\"pi\">:<\/span>\n            <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/<\/span>\n            <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3000<\/span>\n          <span class=\"na\">initialDelaySeconds<\/span><span class=\"pi\">:<\/span> <span class=\"m\">15<\/span>\n          <span class=\"na\">periodSeconds<\/span><span class=\"pi\">:<\/span> <span class=\"m\">20<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%DB%8C%DA%A9_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_Kubernetes_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 3: \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 Kubernetes \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>k8s-service.yaml<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">app-service<\/span>\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">load-balanced-app<\/span>\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\n    <span class=\"na\">targetPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3000<\/span>\n  <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LoadBalancer<\/span>  <span class=\"c1\"># Exposes your app with a public IP<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_%D9%85%D9%82%DB%8C%D8%A7%D8%B3_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1_%D8%B1%D8%A7_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 4: \u0645\u0642\u06cc\u0627\u0633 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>k8s-autoscaler.yaml<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">autoscaling\/v2<\/span>\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">HorizontalPodAutoscaler<\/span>\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">app-autoscaler<\/span>\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">scaleTargetRef<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">apps\/v1<\/span>\n    <span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">app-deployment<\/span>\n  <span class=\"na\">minReplicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">5<\/span>\n  <span class=\"na\">maxReplicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">100<\/span>  <span class=\"c1\"># Scale up to 100 pods if needed<\/span>\n  <span class=\"na\">metrics<\/span><span class=\"pi\">:<\/span>\n  <span class=\"pi\">-<\/span> <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Resource<\/span>\n    <span class=\"na\">resource<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">cpu<\/span>\n      <span class=\"na\">target<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Utilization<\/span>\n        <span class=\"na\">averageUtilization<\/span><span class=\"pi\">:<\/span> <span class=\"m\">70<\/span>  <span class=\"c1\"># Scale up when CPU usage reaches 70%<\/span>\n  <span class=\"pi\">-<\/span> <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Resource<\/span>\n    <span class=\"na\">resource<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">memory<\/span>\n      <span class=\"na\">target<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Utilization<\/span>\n        <span class=\"na\">averageUtilization<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>  <span class=\"c1\"># Scale up when memory usage reaches 80%<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_5_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_Kubernetes\"><\/span>\n<p>  <strong>\u0645\u0631\u062d\u0644\u0647 5: \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 Kubernetes<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Apply your configurations<\/span>\nkubectl apply <span class=\"nt\">-f<\/span> k8s-deployment.yaml\nkubectl apply <span class=\"nt\">-f<\/span> k8s-service.yaml\nkubectl apply <span class=\"nt\">-f<\/span> k8s-autoscaler.yaml\n\n<span class=\"c\"># Check the status of your deployment<\/span>\nkubectl get deployments\nkubectl get pods\nkubectl get services\n\n<span class=\"c\"># Get the external IP to access your application<\/span>\nkubectl get service app-service\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D8%B1%D8%A7%D8%AA%DA%98%DB%8C_%D9%87%D8%A7%DB%8C_%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%D8%A8%D8%A7%D8%B1_%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AC%D8%A7%D9%87_%D8%B7%D9%84%D8%A8\"><\/span>\n<p>  <strong>\u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627\u06cc \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0628\u0631\u0627\u06cc \u062c\u0627\u0647 \u0637\u0644\u0628<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u0633\u0644\u0637 \u0628\u0631 \u0627\u0635\u0648\u0644 \u060c \u0627\u06cc\u0646 \u062a\u06a9\u0646\u06cc\u06a9 \u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f:<\/p>\n<ol>\n<li>\n<strong>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0648\u0632\u0646\u0647 \u0628\u0631\u062f\u0627\u0631\u06cc<\/strong>: \u0628\u0647 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u062a\u0631 \u0633\u0647\u0645 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u0632 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u062f\u0647\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code>   <span class=\"k\">upstream<\/span> <span class=\"s\">weighted_servers<\/span> <span class=\"p\">{<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">weight=5<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># This server gets 5x more traffic<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app2<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">weight=3<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app3<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">weight=1<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># This server gets the least traffic<\/span>\n   <span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>\u062c\u0644\u0633\u0627\u062a \u0686\u0633\u0628\u0646\u062f\u0647<\/strong>: \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0647\u0645\u06cc\u0634\u0647 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0633\u0631\u0648\u0631 \u0628\u0631\u0648\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code>   <span class=\"k\">upstream<\/span> <span class=\"s\">sticky_servers<\/span> <span class=\"p\">{<\/span>\n       <span class=\"kn\">ip_hash<\/span><span class=\"p\">;<\/span>  <span class=\"c1\"># Routes based on client IP<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app2<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app3<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span><span class=\"p\">;<\/span>\n   <span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>\u0628\u0631\u0631\u0633\u06cc \u0647\u0627\u06cc \u0628\u0647\u062f\u0627\u0634\u062a\u06cc \u0647\u0648\u0634\u0645\u0646\u062f<\/strong>: \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0646\u0627\u0633\u0627\u0644\u0645 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight nginx\"><code>   <span class=\"k\">upstream<\/span> <span class=\"s\">smart_servers<\/span> <span class=\"p\">{<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app1<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">max_fails=3<\/span> <span class=\"s\">fail_timeout=30s<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app2<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">max_fails=3<\/span> <span class=\"s\">fail_timeout=30s<\/span><span class=\"p\">;<\/span>\n       <span class=\"kn\">server<\/span> <span class=\"nf\">app3<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span> <span class=\"s\">max_fails=3<\/span> <span class=\"s\">fail_timeout=30s<\/span><span class=\"p\">;<\/span>\n   <span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%DB%8C%D8%A7%D9%86_%DA%A9%D8%A7%D8%A8%D9%88%D8%B3_%D9%87%D8%A7%DB%8C_%D8%B3%D8%B1%D9%88%D8%B1_%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\"><\/span>\n<p>  <strong>\u067e\u0627\u06cc\u0627\u0646 \u06a9\u0627\u0628\u0648\u0633 \u0647\u0627\u06cc \u0633\u0631\u0648\u0631: \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u0641\u0642\u0637 \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 \u0641\u0646\u06cc \u0646\u06cc\u0633\u062a &#8211; \u0627\u06cc\u0646 \u0622\u0631\u0627\u0645\u0634 \u062e\u0627\u0637\u0631 \u0627\u0633\u062a. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0634\u0645\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0646\u0627\u06af\u0647\u0627\u0646\u06cc \u0645\u0639\u0627\u062f\u0644 \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u0641\u0631\u0648\u0634 \u062c\u0645\u0639\u0647 \u0633\u06cc\u0627\u0647 \u0645\u06cc \u0634\u0648\u062f \u060c \u062e\u0648\u0634\u062d\u0627\u0644 \u0645\u06cc \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0648\u0642\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0645\u0646\u0627\u0633\u0628 \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u06af\u0631\u0641\u062a\u06cc\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u06a9\u0647 \u0622\u06cc\u0627 \u0634\u0645\u0627 \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u06a9\u0648\u0686\u06a9 \u060c \u06cc\u06a9 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9\u06cc \u06cc\u0627 \u0627\u062d\u0633\u0627\u0633 \u0631\u0633\u0627\u0646\u0647 \u0647\u0627\u06cc \u0627\u062c\u062a\u0645\u0627\u0639\u06cc \u0628\u0639\u062f\u06cc \u0631\u0627 \u0627\u062f\u0627\u0631\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u060c \u0627\u0635\u0648\u0644 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u0647\u0645 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0686\u0642\u062f\u0631 \u0645\u062d\u0628\u0648\u0628 \u0634\u0648\u062f \u060c \u067e\u0627\u0633\u062e\u06af\u0648 \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f: \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644 \u060c \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0639\u0636\u06cc \u0627\u0648\u0642\u0627\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0637\u0631\u0632 \u0645\u0634\u06a9\u0648\u06a9\u06cc \u0645\u0627\u0646\u0646\u062f \u062d\u0645\u0644\u0647 \u0627\u0646\u06a9\u0627\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0622\u0646 \u0622\u0645\u0627\u062f\u0647 \u0634\u0648\u06cc\u062f \u060c \u0648 \u0647\u0631\u06af\u0632 \u0645\u062c\u0628\u0648\u0631 \u0646\u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0628\u062e\u0627\u0637\u0631 \u0642\u0631\u0628\u0627\u0646\u06cc \u0645\u0648\u0641\u0642\u06cc\u062a \u062e\u0648\u062f \u0639\u0630\u0631\u062e\u0648\u0627\u0647\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0648\u06cc\u062f \u0648 \u0622\u0646 \u0628\u0627\u0631\u0647\u0627 \u0631\u0627 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u06cc\u062f! \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 &#8211; \u0648 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0634\u0645\u0627 &#8211; \u0627\u0632 \u0634\u0645\u0627 \u0645\u062a\u0634\u06a9\u0631\u0645. \ud83d\udea6\ud83d\ude80<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B9%DB%8C%D8%A8_%DB%8C%D8%A7%D8%A8%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9\"><\/span>\n<p>  <strong>\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0639\u06cc\u0628 \u06cc\u0627\u0628\u06cc \u0633\u0631\u06cc\u0639<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<blockquote>\n<p><strong>\u0645\u0634\u06a9\u0644<\/strong>: nginx \u0634\u0631\u0648\u0639 \u0646\u0645\u06cc \u0634\u0648\u062f<\/p>\n<\/blockquote>\n<p><strong>\u0631\u0627\u0647 \u062d\u0644<\/strong>: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f <code>nginx -t<\/code> \u0648 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u062e\u0637\u0627\u0647\u0627\u06cc \u0646\u062d\u0648\u06cc \u0628\u0627\u0634\u06cc\u062f<\/p>\n<blockquote>\n<p><strong>\u0645\u0634\u06a9\u0644<\/strong>: \u0646\u0645\u06cc \u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc\u06cc \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u0627\u0648\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u0634\u0648\u0646\u062f<\/p>\n<\/blockquote>\n<p><strong>\u0631\u0627\u0647 \u062d\u0644<\/strong>: \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062c\u0644\u0633\u0627\u062a \u0686\u0633\u0628\u0646\u062f\u0647 \u0641\u0639\u0627\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0634\u0645\u0627 \u0648\u0632\u0646\u06cc \u0627\u0633\u062a<\/p>\n<blockquote>\n<p><strong>\u0645\u0634\u06a9\u0644<\/strong>: \u0638\u0631\u0648\u0641 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u0646\u062f <\/p>\n<\/blockquote>\n<p><strong>\u0631\u0627\u0647 \u062d\u0644<\/strong>: \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0646\u0647\u0627 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0634\u0628\u06a9\u0647 Docker \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062f\u0631 Docker-Compose.yml \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a<\/p>\n<blockquote>\n<p><strong>\u0645\u0634\u06a9\u0644<\/strong>: \u063a\u0644\u0627\u0641\u0647\u0627\u06cc Kubernetes \u062f\u0631 \u062d\u0627\u0644 \u062e\u0631\u0627\u0628 \u0634\u062f\u0646 \u0647\u0633\u062a\u0646\u062f <\/p>\n<\/blockquote>\n<p><strong>\u0631\u0627\u0647 \u062d\u0644<\/strong>: \u0633\u06cc\u0627\u0647\u0647\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u063a\u0644\u0627\u0641 \u0631\u0627 \u0628\u0627 \u0622\u0646 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f <code>kubectl logs pod-name<\/code> \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u067e\u0631\u0648\u0628 \u0647\u0627\u06cc \u0622\u0645\u0627\u062f\u06af\u06cc \u0634\u0645\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06cc\u0646 \u0631\u0627 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0646\u06cc\u062f: \u0634\u0645\u0627 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u0646\u0627\u06af\u0647\u0627\u0646 \u06cc\u06a9 \u0634\u0628\u0647 \u0648\u06cc\u0631\u0648\u0633\u06cc \u0645\u06cc \u0634\u0648\u062f. \u0647\u0632\u0627\u0631\u0627\u0646 \u0646\u0641\u0631 \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u0622\u0646 \u062c\u0627\u0631\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f \u060c \u0648 \u0633\u0631\u0648\u0631 \u06cc\u06a9 \u0628\u0627\u0631 Zippy \u0634\u0645\u0627 \u0645\u0627\u0646\u0646\u062f \u06a9\u0633\u06cc \u06a9\u0647 \u062a\u0635\u0645\u06cc\u0645 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0645\u0627\u0631\u0627\u062a\u0646 \u0628\u062f\u0648\u0646 \u0622\u0645\u0648\u0632\u0634 \u06af\u0631\u0641\u062a \u060c \u0634\u0631\u0648\u0639 \u0628\u0647 \u0646\u0641\u0633 \u06a9\u0634\u06cc\u062f\u0646 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":99424,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-99423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=99423"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99423\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/99424"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=99423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=99423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=99423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}