{"id":2897,"date":"2025-08-28T11:16:40","date_gmt":"2025-08-28T02:16:40","guid":{"rendered":"https:\/\/wi-th.com\/?p=2897"},"modified":"2025-08-28T12:17:26","modified_gmt":"2025-08-28T03:17:26","slug":"microservices-for-building-web-servers","status":"publish","type":"post","link":"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/","title":{"rendered":"Microservices for building web servers"},"content":{"rendered":"<p><strong>8C\/16T<\/strong> 1\ub300\ub85c \uc2dc\uc791\ud574 <strong>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4<\/strong>\ub97c \ub2e8\uacc4\ubcc4\ub85c \ucabc\uac1c \uac00\ub294 <strong>\uc6a9\ub7c9\u00b7\uad6c\uc870 \ub85c\ub4dc\ub9f5<\/strong>\uc744 \ud45c\ub85c \uc815\ub9ac\ud588\uc5b4\uc694. (\uac00\uc815: Go\/Rust \uc911\uc2ec, Elixir \uc2e4\uc2dc\uac04, Laravel=Admin \ud55c\uc815, Nginx\/Envoy, Redis, Postgres, MeiliSearch, S3\/R2, Cloudflare \uce90\uc2dc \uc801\uadf9 \ud65c\uc6a9)<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Table of Contents<\/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 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%EC%A0%84%EC%A0%9C%ED%98%84%EC%8B%A4%EC%A0%81_%EA%B0%80%EC%A0%95%EC%B9%98\" >\uc804\uc81c(\ud604\uc2e4\uc801 \uac00\uc815\uce58)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%EB%8B%A8%EA%B3%84%EB%B3%84_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EA%B5%AC%EC%A1%B0%EC%9A%A9%EB%9F%89_%ED%91%9C_8%EC%BD%94%EC%96%B4_16%EC%93%B0%EB%A0%88%EB%93%9C\" >\ub2e8\uacc4\ubcc4 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\uc870\/\uc6a9\ub7c9 \ud45c (8\ucf54\uc5b4 16\uc4f0\ub808\ub4dc)<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%EB%8B%A8%EA%B3%84_%EC%A0%84%ED%99%98_%EC%B2%B4%ED%81%AC%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%9A%B4%EC%98%81_%ED%8A%B8%EB%A6%AC%EA%B1%B0\" >\ub2e8\uacc4 \uc804\ud658 \uccb4\ud06c\ub9ac\uc2a4\ud2b8(\uc6b4\uc601 \ud2b8\ub9ac\uac70)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EB%B0%B0%EC%B9%98_%EA%B6%8C%EC%9E%A5%EC%9A%94%EC%95%BD\" >\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc30\uce58 \uad8c\uc7a5(\uc694\uc57d)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%EB%B9%A0%EB%A5%B8_%EC%9D%98%EC%82%AC%EA%B2%B0%EC%A0%95_%EA%B0%80%EC%9D%B4%EB%93%9C\" >\ube60\ub978 \uc758\uc0ac\uacb0\uc815 \uac00\uc774\ub4dc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%E2%9C%85_1_%EA%B0%81_%EC%84%9C%EB%B9%84%EC%8A%A4%EB%B3%84_%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%84%B1%EB%8A%A5_%EC%9A%94%EA%B5%AC_%EC%98%88%EC%B8%A1\" >\u2705 1. \uac01 \uc11c\ube44\uc2a4\ubcc4 \ub9ac\uc18c\uc2a4\/\uc131\ub2a5 \uc694\uad6c \uc608\uce21<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%E2%9C%85_2_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C%EC%84%9C_%EC%B6%94%EA%B0%80_%EC%B6%94%EC%B2%9C_%EC%84%9C%EB%B9%84%EC%8A%A4\" >\u2705 2. \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub85c\uc11c \ucd94\uac00 \ucd94\ucc9c \uc11c\ube44\uc2a4<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%E2%9C%85_3_2%EB%8C%80%EC%9D%98_%EC%84%9C%EB%B2%84_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EC%9E%90%EC%9B%90_%EB%B6%84%EB%B0%B0_%EB%B0%B0%EC%B9%98_%EC%A0%9C%EC%95%88\" >\u2705 3. 2\ub300\uc758 \uc11c\ubc84 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc790\uc6d0 \ubd84\ubc30 \/ \ubc30\uce58 \uc81c\uc548<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%F0%9F%96%A5%EF%B8%8F_%EC%84%9C%EB%B2%841_8%EC%BD%94%EC%96%B4_16%EC%8A%A4%EB%A0%88%EB%93%9C_%EA%B3%A0%ED%81%B4%EB%9F%AD\" >\ud83d\udda5\ufe0f \uc11c\ubc841 (8\ucf54\uc5b4 16\uc2a4\ub808\ub4dc, \uace0\ud074\ub7ed)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%F0%9F%96%A5%EF%B8%8F_%EC%84%9C%EB%B2%842_8%EC%BD%94%EC%96%B4_16%EC%8A%A4%EB%A0%88%EB%93%9C_%EA%B3%A0%ED%81%B4%EB%9F%AD\" >\ud83d\udda5\ufe0f \uc11c\ubc842 (8\ucf54\uc5b4 16\uc2a4\ub808\ub4dc, \uace0\ud074\ub7ed)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/#%E2%9C%85_4_%EB%B0%B0%EC%B9%98_%EC%9A%94%EC%95%BD_%ED%91%9C\" >\u2705 4. \ubc30\uce58 \uc694\uc57d (\ud45c)<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EC%A0%84%EC%A0%9C%ED%98%84%EC%8B%A4%EC%A0%81_%EA%B0%80%EC%A0%95%EC%B9%98\"><\/span>\uc804\uc81c(\ud604\uc2e4\uc801 \uac00\uc815\uce58)<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud2b8\ub798\ud53d \ubbf9\uc2a4: <strong>\uc77d\uae30 80% \/ \uc4f0\uae30 20%<\/strong>, API \ud3c9\uade0 \uc751\ub2f5 2\u20138KB<\/li>\n\n\n\n<li><strong>Cloudflare \uce90\uc2dc \uc801\uc911<\/strong>: \uc815\uc801 85%+, API GET 20\u201340%<\/li>\n\n\n\n<li>\ubaa9\ud45c \uc9c0\uc5f0: <strong>p95 &lt; 80ms (API), &lt; 150ms(\uac80\uc0c9)<\/strong><\/li>\n\n\n\n<li>\uc218\uce58\ub294 **\ubcf4\uc218\uc801 \ucd94\uc815\uce58(\u00b130%)**\uc774\uba70, p95 \uae30\uc900 \uc548\uc815 \uc6b4\uc6a9 \ud55c\uacc4\uc120\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%8B%A8%EA%B3%84%EB%B3%84_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EA%B5%AC%EC%A1%B0%EC%9A%A9%EB%9F%89_%ED%91%9C_8%EC%BD%94%EC%96%B4_16%EC%93%B0%EB%A0%88%EB%93%9C\"><\/span>\ub2e8\uacc4\ubcc4 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\uc870\/\uc6a9\ub7c9 \ud45c (8\ucf54\uc5b4 16\uc4f0\ub808\ub4dc)<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\ub2e8\uacc4<\/th><th>\ubb3c\ub9ac \uc11c\ubc84 \uc218<\/th><th>\ubc30\uce58(\uad8c\uc7a5 \uc11c\ube44\uc2a4)<\/th><th>\uc608\uc0c1 \uc9c0\uc18d \ub3d9\uc811(\ub85c\uadf8\uc778 \uae30\uc900)<\/th><th>\uc548\uc815 RPS(\uc804\uccb4 \ud569)<\/th><th>\ud575\uc2ec \ubcd1\ubaa9 & \ud2b8\ub9ac\uac70<\/th><\/tr><\/thead><tbody><tr><td><strong>A. \uc62c\uc778\uc6d0<\/strong><\/td><td><strong>1\ub300<\/strong><\/td><td>Nginx\/Envoy, <strong>Go API<\/strong>, Laravel(Admin), Redis, <strong>Postgres<\/strong>, Meili, Elixir(WS), \uc774\ubbf8\uc9c0 \uc6cc\ucee4<\/td><td><strong>2\ub9cc~4\ub9cc<\/strong><\/td><td><strong>6k~12k<\/strong><\/td><td>DB\/\ub514\uc2a4\ud06c, \uba54\ubaa8\ub9ac \uc555\ub825. <strong>p95\u2191<\/strong>, CPU&gt;70%, DB TPS&gt;2k\uba74 \ub2e4\uc74c \ub2e8\uacc4<\/td><\/tr><tr><td><strong>B. 2\ub300 \ubd84\ub9ac<\/strong><\/td><td><strong>2\ub300<\/strong><\/td><td>S1: Nginx + Go API + Elixir + Redis \/ S2: <strong>Postgres + Meili + \ubbf8\ub514\uc5b4<\/strong><\/td><td><strong>6\ub9cc~10\ub9cc<\/strong><\/td><td><strong>12k~20k<\/strong><\/td><td>DB IOPS\u00b7\ub77d, \uac80\uc0c9 QPS. DB CPU&gt;60%, QPS&gt;1.5k\uba74 3\ub300\ub85c<\/td><\/tr><tr><td><strong>C. 3\ub300 \ubd84\ub9ac<\/strong><\/td><td><strong>3\ub300<\/strong><\/td><td>S1: Nginx+Go API \/ S2: <strong>Postgres(\uc804\uc6a9)<\/strong> \/ S3: <strong>Elixir(WS)+Meili+\ubbf8\ub514\uc5b4<\/strong><\/td><td><strong>12\ub9cc~18\ub9cc<\/strong><\/td><td><strong>20k~35k<\/strong><\/td><td>WS \uc138\uc158\u2191, \uac80\uc0c9 \ud53c\ud06c. Meili p95&gt;150ms, WS&gt;8\ub9cc\uc774\uba74 4~5\ub300\ub85c<\/td><\/tr><tr><td><strong>D. 4\u20135\ub300 \ucd5c\uc801<\/strong><\/td><td><strong>4\u20135\ub300<\/strong><\/td><td>+S4: <strong>\uac80\uc0c9 \uc804\uc6a9(Meili)<\/strong>, +S5: <strong>\ubbf8\ub514\uc5b4\/\ud050\/\ud06c\ub860<\/strong> (\uc120\ud0dd)<\/td><td><strong>20\ub9cc~30\ub9cc<\/strong><\/td><td><strong>35k~55k<\/strong><\/td><td>API CPU, \uce90\uc2dc \ubbf8\uc2a4, DB \uc77d\uae30 \ubd80\ud558. \uc77d\uae30 \uc2a4\ud30c\uc774\ud06c\u2191\uba74 \ub9ac\ub4dc\ub808\ud50c\ub9ac\uce74<\/td><\/tr><tr><td><strong>E. 7\u20139\ub300 \ud655\uc7a5<\/strong><\/td><td><strong>7\u20139\ub300<\/strong><\/td><td>API 2\u20133\ub300 \uc218\ud3c9, <strong>DB: \uc8fc1 + \ub9ac\ub4dc\ub808\ud50c\ub9ac\uce741\u20132<\/strong>, \uac80\uc0c9 1\u20132, WS 1\u20132, \ubbf8\ub514\uc5b4\/\ubc30\uce58 1<\/td><td><strong>35\ub9cc~55\ub9cc<\/strong><\/td><td><strong>60k~90k<\/strong><\/td><td>\ub124\ud2b8\uc6cc\ud06c\/LB, \uce90\uc2dc\uc804\ub7b5. DB \ubcf5\uc81c \uc9c0\uc5f0, \uc11c\uce58 \uc0e4\ub529 \ud544\uc694 \uc2dc\uc810<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \u24d2 <a href=\"http:\/\/wi-th.com\/en\/\" data-type=\"link\" data-id=\"wi-th.com\">wi-th.com<\/a><\/figcaption><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ucc38\uace0 \ud55c\uacc4\uce58(8\ucf54\uc5b4 16\uc4f0\ub808\ub4dc 1\ub300, \ucd5c\uc801\ud654\/\uce90\uc2dc \uac00\uc815):<br>\u2022 <strong>Go API<\/strong>: 6k\u201312k RPS \uc548\uc815 \/ <strong>\uc9c0\uc18d \ub3d9\uc811 2\ub9cc+<\/strong> (\uc77d\uae30 \uc704\uc8fc)<br>\u2022 <strong>Elixir WS<\/strong>: <strong>6\ub9cc\u201310\ub9cc \uc138\uc158<\/strong><br>\u2022 <strong>Postgres<\/strong>: \ub2e8\uc21c\ucffc\ub9ac 2\u20134k QPS, \uc4f0\uae30 TPS 1\u20132k \ub0b4 \uc548\uc815<br>\u2022 <strong>Redis<\/strong>: 5\ub9cc+ ops\/s (\ub124\ud2b8\uc6cc\ud06c\/\ud56b\ud0a4 \uc8fc\uc758)<br>\u2022 <strong>MeiliSearch<\/strong>: 600\u20131,500 QPS(\ucffc\ub9ac \ubcf5\uc7a1\ub3c4\/\ud544\ud130\uc5d0 \ub530\ub77c \ud3b8\ucc28)<\/p>\n<\/blockquote>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%8B%A8%EA%B3%84_%EC%A0%84%ED%99%98_%EC%B2%B4%ED%81%AC%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%9A%B4%EC%98%81_%ED%8A%B8%EB%A6%AC%EA%B1%B0\"><\/span>\ub2e8\uacc4 \uc804\ud658 \uccb4\ud06c\ub9ac\uc2a4\ud2b8(\uc6b4\uc601 \ud2b8\ub9ac\uac70)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>API p95 &gt; 80ms 15\ubd84 \uc774\uc0c1<\/strong> or <strong>CPU &gt; 65% \uc9c0\uc18d<\/strong><\/li>\n\n\n\n<li><strong>DB<\/strong>: \ud3c9\uade0 \ub300\uae30\uc2dc\uac04 &gt; 20ms, \ud65c\uc131 \ucee4\ub125\uc158 \ud480 80%\u2191, \uccb4\ud06c\ud3ec\uc778\ud2b8 \uc9c0\uc5f0<\/li>\n\n\n\n<li><strong>\uce90\uc2dc<\/strong>: \ud56b\ud0a4 \ud3b8\uc911, \uce90\uc2dc \ubbf8\uc2a4\uc728 &gt; 30%<\/li>\n\n\n\n<li><strong>WS<\/strong>: \ub2e8\uc77c \ub178\ub4dc \uc138\uc158 &gt; 8\ub9cc \ub610\ub294 \ube0c\ub85c\ub4dc\uce90\uc2a4\ud2b8 \uc9c0\uc5f0 \u2191<\/li>\n\n\n\n<li><strong>\uac80\uc0c9<\/strong>: p95 &gt; 150ms, \uc778\ub371\uc2f1 \uc9c0\uc5f0 \ub204\uc801<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EB%B0%B0%EC%B9%98_%EA%B6%8C%EC%9E%A5%EC%9A%94%EC%95%BD\"><\/span>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc30\uce58 \uad8c\uc7a5(\uc694\uc57d)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud575\uc2ec API<\/strong>: Go(\ucd5c\uc6b0\uc120), \ucd08\uace0\uc131\ub2a5 \ud56b\ud328\uc2a4\ub294 Rust\ub85c \ubd84\ub9ac<\/li>\n\n\n\n<li><strong>\uc2e4\uc2dc\uac04\/\ucc44\ud305<\/strong>: Elixir(Phoenix) \ub2e8\ub3c5 \ub178\ub4dc<\/li>\n\n\n\n<li><strong>\uad00\ub9ac\uc790\/\ucf58\ud150\uce20<\/strong>: Laravel(+Octane) \ubcc4\ub3c4 \ucee8\ud14c\uc774\ub108, \ud050\/\uce90\uc2dc \ud544\uc218<\/li>\n\n\n\n<li><strong>\ub370\uc774\ud130<\/strong>: Postgres(\uc8fc) \u2192 \ub2e8\uacc4 D\/E\uc5d0\uc11c <strong>\ub9ac\ub4dc \ub808\ud50c\ub9ac\uce74 \ucd94\uac00<\/strong><\/li>\n\n\n\n<li><strong>\uac80\uc0c9<\/strong>: Meili \uc804\uc6a9 \ub178\ub4dc(\ub2e8\uacc4 C~), QPS\u2191 \uc2dc \uc0e4\ub529\/\ub9ac\ud50c\ub9ac\uce74<\/li>\n\n\n\n<li><strong>\ud050\/\ubc30\uce58\/\ubbf8\ub514\uc5b4<\/strong>: \uc6cc\ucee4 \uc804\uc6a9 \ub178\ub4dc(\ub2e8\uacc4 D~)<\/li>\n\n\n\n<li><strong>\uc5e3\uc9c0<\/strong>: Cloudflare \uce90\uc2dc \uaddc\uce59\u00b7SWR\u00b7API \uce90\uc2dc(\uc2ac\ub77c\uc774\ub529 TTL)<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%B9%A0%EB%A5%B8_%EC%9D%98%EC%82%AC%EA%B2%B0%EC%A0%95_%EA%B0%80%EC%9D%B4%EB%93%9C\"><\/span>\ube60\ub978 \uc758\uc0ac\uacb0\uc815 \uac00\uc774\ub4dc<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ucd08\uae30 \ub7f0\uce6d\/POC<\/strong> \u2192 \u0392 <strong>A(1\ub300)<\/strong><\/li>\n\n\n\n<li><strong>MAU\u2191\u00b7\uc815\uc2dd \uc624\ud508<\/strong> \u2192 \u0392 <strong>B(2\ub300)<\/strong>(DB \ubd84\ub9ac\ub9cc\uc73c\ub85c \uc548\uc815\uc131 \uae09\uc0c1\uc2b9)<\/li>\n\n\n\n<li><strong>\uc2e4\uc2dc\uac04\/\uac80\uc0c9 \ubcf8\uaca9\ud654<\/strong> \u2192 \u0392 <strong>C(3\ub300)<\/strong><\/li>\n\n\n\n<li><strong>\uc804\uad6d\ubbfc \ucea0\ud398\uc778\/\ud53c\ud06c \ub300\ube44<\/strong> \u2192 \u0392 <strong>D(4\u20135\ub300)<\/strong><\/li>\n\n\n\n<li><strong>\ud56d\uc2dc \ub300\uaddc\ubaa8 \ub3d9\uc811\u00b7\uc5ec\ub7ec \ud53c\ud06c \ub3d9\uc2dc<\/strong> \u2192 \u0392 <strong>E(7\u20139\ub300)<\/strong><\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_1_%EA%B0%81_%EC%84%9C%EB%B9%84%EC%8A%A4%EB%B3%84_%EB%A6%AC%EC%86%8C%EC%8A%A4%EC%84%B1%EB%8A%A5_%EC%9A%94%EA%B5%AC_%EC%98%88%EC%B8%A1\"><\/span>\u2705 1. \uac01 \uc11c\ube44\uc2a4\ubcc4 \ub9ac\uc18c\uc2a4\/\uc131\ub2a5 \uc694\uad6c \uc608\uce21<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th><\/th><th><\/th><th><\/th><\/tr><\/thead><tbody><tr><td>www<\/td><td>\ud504\ub860\ud2b8\uc5d4\ub4dc SSR, Nuxt \ub4f1<\/td><td><strong>\uc911~\uc0c1 (CPU\/RAM\/SSD)<\/strong><\/td><td>SEO \ub300\uc751<\/td><\/tr><tr><td>api<\/td><td><\/td><td><strong>\uc911~\uc0c1 (CPU\/IO\/RAM)<\/strong><\/td><td>REST or GraphQL<\/td><\/tr><tr><td>shop<\/td><td>\uc1fc\ud551\ubab0 \uae30\ub2a5<\/td><td><strong>\uc911~\uc0c1 (RAM\/DB IO)<\/strong><\/td><td>\uc81c\ud488, \uc7a5\ubc14\uad6c\ub2c8, \uacb0\uc81c<\/td><\/tr><tr><td>db<\/td><td>MariaDB \/ MySQL<\/td><td><strong>\uc0c1 (RAM\/SSD)<\/strong><\/td><td>SSD \uc911\uc694<\/td><\/tr><tr><td>redis<\/td><td>\uce90\uc2dc \/ \uc138\uc158 \/ \ud050 \ub4dc\ub77c\uc774\ubc84<\/td><td><strong>\uc911~\uc0c1 (RAM)<\/strong><\/td><td>\ube60\ub978 \uba54\ubaa8\ub9ac \uc751\ub2f5 \ud544\uc694<\/td><\/tr><tr><td>cdn<\/td><td>\uc815\uc801 \ub9ac\uc18c\uc2a4 \uc11c\ubc84<\/td><td><strong>\uc0c1 (\ub514\uc2a4\ud06cIO\/\ub124\ud2b8\uc6cc\ud06c)<\/strong><\/td><td>Cloudflare CDN \ud65c\uc6a9\uc2dc \uacbd\uac10 \uac00\ub2a5<\/td><\/tr><tr><td>community<\/td><td>\ucee4\ubba4\ub2c8\ud2f0, \uac8c\uc2dc\ud310<\/td><td><strong>\uc911 (DB\/\uac80\uc0c9)<\/strong><\/td><td>\ub313\uae00, \uacf5\uac10, \uc54c\ub9bc<\/td><\/tr><tr><td>chat<\/td><td>\uc2e4\uc2dc\uac04 \ucc44\ud305 (Socket.io \ub4f1)<\/td><td><strong>\uc0c1 (CPU\/\uba54\ubaa8\ub9ac\/\ub124\ud2b8\uc6cc\ud06c)<\/strong><\/td><td>\uc6f9\uc18c\ucf13 \ud544\uc218<\/td><\/tr><tr><td>recommend<\/td><td>\ucd94\ucc9c \uc54c\uace0\ub9ac\uc998<\/td><td><strong>\uc911~\uc0c1 (RAM\/CPU)<\/strong><\/td><td>Meilisearch or ML<\/td><\/tr><tr><td>bookmark<\/td><td>\uc990\uaca8\ucc3e\uae30 \uae30\ub2a5<\/td><td><strong>\ud558 (DB)<\/strong><\/td><td>\ub2e8\uc21c \uc0c1\ud0dc<\/td><\/tr><tr><td>search<\/td><td>MeiliSearch \uae30\ubc18 \uac80\uc0c9 \uc11c\ube44\uc2a4<\/td><td><strong>\uc0c1 (RAM\/SSD)<\/strong><\/td><td>\uc804\uccb4 \ud14d\uc2a4\ud2b8 \uc0c9\uc778<\/td><\/tr><tr><td>external<\/td><td>\uc678\ubd80 API \uc5f0\ub3d9 (\uc8fc\uc18c, \ubd80\ub3d9\uc0b0 \ub4f1)<\/td><td><strong>\ud558~\uc911 (\ub124\ud2b8\uc6cc\ud06c)<\/strong><\/td><td>\ube44\ub3d9\uae30 \ud050\uc640 \ubd84\ub9ac \uad8c\uc7a5<\/td><\/tr><tr><td>auth<\/td><td>OAuth2\/JWT\/SSO \uc778\uc99d<\/td><td><strong>\uc911 (CPU\/RAM)<\/strong><\/td><td>\uc694\uccad \uc218 \ub9ce\uc74c<\/td><\/tr><tr><td>admin<\/td><td>Filament \ub4f1 \uad00\ub9ac\uc790 \ud328\ub110<\/td><td><strong>\uc911 (CPU\/DB)<\/strong><\/td><td>\ub0b4\ubd80\uc6a9<\/td><\/tr><tr><td>admin-api<\/td><td>\uad00\ub9ac\uc790 \uc804\uc6a9 API<\/td><td><strong>\uc911 (RAM\/CPU)<\/strong><\/td><td>\ub0b4\ubd80 API<\/td><\/tr><tr><td>user<\/td><td>\ud68c\uc6d0\uad00\ub9ac, \ub9c8\uc774\ud398\uc774\uc9c0<\/td><td><strong>\uc911 (DB\/CPU)<\/strong><\/td><td>\ud504\ub85c\ud544\/\uc124\uc815<\/td><\/tr><tr><td>payment<\/td><td>\uacb0\uc81c \uc5f0\ub3d9 (KG\uc774\ub2c8\uc2dc\uc2a4 \ub4f1)<\/td><td><strong>\uc911 (\ub124\ud2b8\uc6cc\ud06c\/\ubcf4\uc548)<\/strong><\/td><td>\ubcf4\uc548 \uace0\ub824<\/td><\/tr><tr><td>queue<\/td><td>\ube44\ub3d9\uae30 \uc791\uc5c5 \ud050 (Laravel Queue, Horizon \ub4f1)<\/td><td><strong>\uc0c1 (CPU\/IO)<\/strong><\/td><td>\uc774\ubbf8\uc9c0 \ucc98\ub9ac, \uc774\uba54\uc77c \ub4f1<\/td><\/tr><tr><td>notification<\/td><td>\uc54c\ub9bc \ubc1c\uc1a1 (\ud478\uc2dc\/\uc774\uba54\uc77c\/SMS \ub4f1)<\/td><td><strong>\uc0c1 (\ub124\ud2b8\uc6cc\ud06c\/CPU)<\/strong><\/td><td>\uc678\ubd80 API \uc5f0\ub3d9<\/td><\/tr><tr><td>report<\/td><td>\uc2e0\uace0\/\ud1b5\uacc4 \uc218\uc9d1<\/td><td><strong>\ud558 (DB)<\/strong><\/td><td>\ubcf4\uc870 \uae30\ub2a5<\/td><\/tr><tr><td>stats<\/td><td>\uc720\uc800 \ud589\ub3d9 \ud1b5\uacc4 \uc218\uc9d1\/\ubd84\uc11d<\/td><td><strong>\uc911~\uc0c1 (RAM\/\uc800\uc7a5)<\/strong><\/td><td>\uc7a5\uae30 \uc800\uc7a5 \ud544\uc694<\/td><\/tr><tr><td>db<\/td><td>MariaDB \/ MySQL<\/td><td><strong>\ub9e4\uc6b0 \uc0c1 (IO\/RAM)<\/strong><\/td><td>\ubc18\ub4dc\uc2dc \ubcc4\ub3c4 \uc11c\ubc84<\/td><\/tr><tr><td>gateway<\/td><td>API Gateway (e.g., Kong, Traefik, Nginx)<\/td><td><\/td><td>\ub77c\uc6b0\ud305, \uc778\uc99d, \ub85c\uae45 \uc77c\uc6d0\ud654<\/td><\/tr><tr><td>file<\/td><td>\ud30c\uc77c \uc11c\ubc84 (e.g., MinIO \/ R2 Proxy)<\/td><td><\/td><td>\uc774\ubbf8\uc9c0 \uc5c5\ub85c\ub4dc \uad00\ub9ac<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \u24d2 <a href=\"http:\/\/wi-th.com\/en\/\" data-type=\"link\" data-id=\"wi-th.com\">wi-th.com<\/a><\/figcaption><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_2_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C%EC%84%9C_%EC%B6%94%EA%B0%80_%EC%B6%94%EC%B2%9C_%EC%84%9C%EB%B9%84%EC%8A%A4\"><\/span>\u2705 2. \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub85c\uc11c <strong>\ucd94\uac00 \ucd94\ucc9c \uc11c\ube44\uc2a4<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\ucd94\uac00 \uc11c\ube44\uc2a4<\/th><th>\uc5ed\ud560 \/ \uc124\uba85<\/th><th>\uc774\uc720<\/th><\/tr><\/thead><tbody><tr><td>backup<\/td><td>DB\/\ud30c\uc77c \uc8fc\uae30\uc801 \ubc31\uc5c5 \uc11c\ube44\uc2a4<\/td><td>\uc7a5\uc560 \ub300\uc751<\/td><\/tr><tr><td>logger<\/td><td>\uc911\uc559 \ub85c\uae45 (e.g., Loki, FluentBit, Logstash)<\/td><td>\uc11c\ube44\uc2a4\ubcc4 \ub85c\uadf8 \uc218\uc9d1<\/td><\/tr><tr><td>monitor<\/td><td>\uc2dc\uc2a4\ud15c \ubaa8\ub2c8\ud130\ub9c1 (e.g., Prometheus, Grafana)<\/td><td>\ud5ec\uc2a4\uccb4\ud06c, \uc54c\ub9bc<\/td><\/tr><tr><td>mailer<\/td><td>\uba54\uc77c \ubc1c\uc1a1 \uc804\uc6a9 \uc11c\ube44\uc2a4 (SMTP \uc5f0\ub3d9 \ud3ec\ud568)<\/td><td>\ub300\ub7c9 \uba54\uc77c<\/td><\/tr><tr><td>cron<\/td><td>\uc2a4\ucf00\uc974\ub7ec \uc804\uc6a9 \uc11c\ube44\uc2a4 (Laravel Schedule \ub4f1)<\/td><td>\uc2dc\uac04 \uae30\ubc18 \uc774\ubca4\ud2b8 \ubd84\ub9ac<\/td><\/tr><tr><td>sso<\/td><td>OAuth \uc5f0\ub3d9 \ub610\ub294 SSO \uc11c\ube44\uc2a4<\/td><td>\ud1b5\ud569 \ub85c\uadf8\uc778 \ub300\uc751<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \u24d2 <a href=\"http:\/\/wi-th.com\/en\/\" data-type=\"link\" data-id=\"wi-th.com\">wi-th.com<\/a><\/figcaption><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_3_2%EB%8C%80%EC%9D%98_%EC%84%9C%EB%B2%84_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4_%EC%9E%90%EC%9B%90_%EB%B6%84%EB%B0%B0_%EB%B0%B0%EC%B9%98_%EC%A0%9C%EC%95%88\"><\/span>\u2705 3. 2\ub300\uc758 \uc11c\ubc84 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc790\uc6d0 \ubd84\ubc30 \/ \ubc30\uce58 \uc81c\uc548<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%96%A5%EF%B8%8F_%EC%84%9C%EB%B2%841_8%EC%BD%94%EC%96%B4_16%EC%8A%A4%EB%A0%88%EB%93%9C_%EA%B3%A0%ED%81%B4%EB%9F%AD\"><\/span>\ud83d\udda5\ufe0f \uc11c\ubc841 (8\ucf54\uc5b4 16\uc2a4\ub808\ub4dc, \uace0\ud074\ub7ed)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud504\ub860\ud2b8 \ucc98\ub9ac \/ API \/ \uc2e4\uc2dc\uac04 \uc11c\ube44\uc2a4 \uc911\uc2ec (\uace0\uc18d \uc751\ub2f5 \uc911\uc694)<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>www<\/code> (Nuxt SSR)<\/li>\n\n\n\n<li><code>api<\/code> (Laravel API)<\/li>\n\n\n\n<li><code>shop<\/code><\/li>\n\n\n\n<li><code>auction<\/code><\/li>\n\n\n\n<li><code>contest<\/code><\/li>\n\n\n\n<li><code>auth<\/code><\/li>\n\n\n\n<li><code>admin-api<\/code><\/li>\n\n\n\n<li><code>chat<\/code> (Socket.io)<\/li>\n\n\n\n<li><code>queue<\/code><\/li>\n\n\n\n<li><code>notification<\/code><\/li>\n\n\n\n<li><code>recommend<\/code><\/li>\n\n\n\n<li><code>gateway<\/code> (Nginx or Traefik)<\/li>\n\n\n\n<li><code>cron<\/code> \/ <code>mailer<\/code><\/li>\n\n\n\n<li><code>external<\/code> (API\uc5f0\ub3d9)<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Features<\/strong>: \uc751\ub2f5 \uc18d\ub3c4\uc640 \uc2e4\uc2dc\uac04 \ucc98\ub9ac \uc911\uc694 \uc11c\ube44\uc2a4 \uc9d1\uc911, \uace0\uc18d NVMe SSD\uc640 DDR5\uc758 \uc774\uc810\uc744 \ud65c\uc6a9<\/p>\n<\/blockquote>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%96%A5%EF%B8%8F_%EC%84%9C%EB%B2%842_8%EC%BD%94%EC%96%B4_16%EC%8A%A4%EB%A0%88%EB%93%9C_%EA%B3%A0%ED%81%B4%EB%9F%AD\"><\/span>\ud83d\udda5\ufe0f \uc11c\ubc842 (8\ucf54\uc5b4 16\uc2a4\ub808\ub4dc, \uace0\ud074\ub7ed)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\uc800\uc7a5\uc18c\/\ubd84\uc11d \uc911\uc2ec, IO\/\ub300\uc6a9\ub7c9 \ucc98\ub9ac \ucd5c\uc801\ud654<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>db<\/code> (MariaDB\/MySQL)<\/li>\n\n\n\n<li><code>redis<\/code><\/li>\n\n\n\n<li><code>meilisearch<\/code><\/li>\n\n\n\n<li><code>cdn<\/code> (\uc815\uc801 \ub9ac\uc18c\uc2a4 \uce90\uc2dc\uc6a9)<\/li>\n\n\n\n<li><code>stats<\/code><\/li>\n\n\n\n<li><code>report<\/code><\/li>\n\n\n\n<li><code>user<\/code><\/li>\n\n\n\n<li><code>admin<\/code> (Filament)<\/li>\n\n\n\n<li><code>community<\/code><\/li>\n\n\n\n<li><code>bookmark<\/code><\/li>\n\n\n\n<li><code>search<\/code><\/li>\n\n\n\n<li><code>file<\/code> (\uc5c5\ub85c\ub4dc, CDN \uc800\uc7a5\uc18c)<\/li>\n\n\n\n<li><code>logger<\/code>, <code>monitor<\/code>, <code>backup<\/code><\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Features<\/strong>: \ucf54\uc5b4 \uc218\uac00 \ub9ce\uc544 \ub3d9\uc2dc\uc5d0 \ub9ce\uc740 \uc694\uccad \ucc98\ub9ac\uc5d0 \uc720\ub9ac, \ubd84\uc11d\/\uc800\uc7a5\/\uce90\uc2dc \uc911\uc2ec<\/p>\n<\/blockquote>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_4_%EB%B0%B0%EC%B9%98_%EC%9A%94%EC%95%BD_%ED%91%9C\"><\/span>\u2705 4. \ubc30\uce58 \uc694\uc57d (\ud45c)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\uc11c\ube44\uc2a4 \uc885\ub958<\/th><th>\uc124\uce58 \uc11c\ubc84<\/th><\/tr><\/thead><tbody><tr><td>\uc2e4\uc2dc\uac04\/\uc751\ub2f5 \uc911\uc2ec \uc11c\ube44\uc2a4<\/td><td><strong>\uc11c\ubc841<\/strong><\/td><\/tr><tr><td>\uc800\uc7a5\/\ubd84\uc11d\/\uac80\uc0c9 \uc911\uc2ec \uc11c\ube44\uc2a4<\/td><td><strong>\uc11c\ubc842<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"970\" height=\"90\" src=\"https:\/\/wi-th.com\/wp-content\/uploads\/2025\/08\/in-te-ri-or_logo_1.png\" alt=\"Microservices \u24d2 wi-th.com\" class=\"wp-image-2906\" srcset=\"\/\/wi-th.com\/wp-content\/uploads\/2025\/08\/in-te-ri-or_logo_1.png 970w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/in-te-ri-or_logo_1-665x62.png 665w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/in-te-ri-or_logo_1-300x28.png 300w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/in-te-ri-or_logo_1-768x71.png 768w\" sizes=\"(max-width: 970px) 100vw, 970px\" \/><figcaption class=\"wp-element-caption\">All things interior <a href=\"http:\/\/dknock.in-te-ri-or.com\" data-type=\"link\" data-id=\"dknock.in-te-ri-or.com\" target=\"_blank\" rel=\"noopener\">In-The-Rear.com<\/a><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"970\" height=\"90\" src=\"https:\/\/wi-th.com\/wp-content\/uploads\/2025\/08\/dknock_banner_1.png\" alt=\"\u24d2 dknock.in-te-ri-or.com\" class=\"wp-image-2924\" srcset=\"\/\/wi-th.com\/wp-content\/uploads\/2025\/08\/dknock_banner_1.png 970w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/dknock_banner_1-665x62.png 665w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/dknock_banner_1-300x28.png 300w, \/\/wi-th.com\/wp-content\/uploads\/2025\/08\/dknock_banner_1-768x71.png 768w\" sizes=\"(max-width: 970px) 100vw, 970px\" \/><figcaption class=\"wp-element-caption\">Interior specialists \u24d2 <a href=\"http:\/\/dknock.in-te-ri-or.com\" data-type=\"link\" data-id=\"dknock.in-te-ri-or.com\" target=\"_blank\" rel=\"noopener\">dknock<\/a><\/figcaption><\/figure>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>8C\/16T 1\ub300\ub85c \uc2dc\uc791\ud574 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \ub2e8\uacc4\ubcc4\ub85c \ucabc\uac1c \uac00\ub294 \uc6a9\ub7c9\u00b7\uad6c\uc870 \ub85c\ub4dc\ub9f5\uc744 \ud45c\ub85c \uc815\ub9ac\ud588\uc5b4\uc694. (\uac00\uc815: Go\/Rust \uc911\uc2ec, Elixir \uc2e4\uc2dc\uac04, Laravel=Admin \ud55c\uc815, Nginx\/Envoy, Redis, Postgres, MeiliSearch, S3\/R2, Cloudflare \uce90\uc2dc <a href=\"https:\/\/wi-th.com\/en\/it\/microservices-for-building-web-servers\/\" class=\"read-more-link\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[417,423],"tags":[425,427,424,413,426],"class_list":["post-2897","post","type-post","status-publish","format-standard","hentry","category-it","category--it","tag-425","tag-427","tag-424","tag-413","tag-426"],"_links":{"self":[{"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/posts\/2897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/comments?post=2897"}],"version-history":[{"count":0,"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/posts\/2897\/revisions"}],"wp:attachment":[{"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/media?parent=2897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/categories?post=2897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wi-th.com\/en\/wp-json\/wp\/v2\/tags?post=2897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}