[{"data":1,"prerenderedAt":176},["ShallowReactive",2],{"term-a\u002Fapi-gateway":3,"related-a\u002Fapi-gateway":159},{"id":4,"title":5,"acronym":6,"body":7,"category":140,"description":141,"difficulty":142,"extension":143,"letter":144,"meta":145,"navigation":78,"path":146,"related":147,"seo":153,"sitemap":154,"stem":157,"subcategory":6,"__hash__":158},"terms\u002Fterms\u002Fa\u002Fapi-gateway.md","API Gateway",null,{"type":8,"value":9,"toc":134},"minimark",[10,15,19,23,26,30,123,127,130],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"An API Gateway is the front door for all your APIs. Instead of clients talking to dozens of microservices directly, they go through one gateway that routes requests to the right service. It also handles authentication, rate limiting, and logging all in one place.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"An API Gateway is a server that acts as a single entry point for a collection of backend services. It handles cross-cutting concerns like authentication, authorization, rate limiting, request routing, load balancing, caching, SSL termination, and logging\u002Fmonitoring.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# AWS API Gateway configuration example\n# Routes:\n# GET  \u002Fusers      → Lambda: list-users\n# POST \u002Fusers      → Lambda: create-user\n# GET  \u002Fusers\u002F{id} → Lambda: get-user\n\n# Kong API Gateway routing\ncurl -X POST http:\u002F\u002Flocalhost:8001\u002Fservices\u002Fuser-service\u002Froutes \\\n  -d 'paths[]=\u002Fapi\u002Fusers'\n","bash","",[38,39,40,49,55,61,67,73,80,86,107],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","# AWS API Gateway configuration example\n",[41,50,52],{"class":43,"line":51},2,[41,53,54],{"class":47},"# Routes:\n",[41,56,58],{"class":43,"line":57},3,[41,59,60],{"class":47},"# GET  \u002Fusers      → Lambda: list-users\n",[41,62,64],{"class":43,"line":63},4,[41,65,66],{"class":47},"# POST \u002Fusers      → Lambda: create-user\n",[41,68,70],{"class":43,"line":69},5,[41,71,72],{"class":47},"# GET  \u002Fusers\u002F{id} → Lambda: get-user\n",[41,74,76],{"class":43,"line":75},6,[41,77,79],{"emptyLinePlaceholder":78},true,"\n",[41,81,83],{"class":43,"line":82},7,[41,84,85],{"class":47},"# Kong API Gateway routing\n",[41,87,89,93,97,100,103],{"class":43,"line":88},8,[41,90,92],{"class":91},"sBMFI","curl",[41,94,96],{"class":95},"sfazB"," -X",[41,98,99],{"class":95}," POST",[41,101,102],{"class":95}," http:\u002F\u002Flocalhost:8001\u002Fservices\u002Fuser-service\u002Froutes",[41,104,106],{"class":105},"sTEyZ"," \\\n",[41,108,110,113,117,120],{"class":43,"line":109},9,[41,111,112],{"class":95},"  -d",[41,114,116],{"class":115},"sMK4o"," '",[41,118,119],{"class":95},"paths[]=\u002Fapi\u002Fusers",[41,121,122],{"class":115},"'\n",[11,124,126],{"id":125},"when-youll-hear-this","When You'll Hear This",[16,128,129],{},"\"All requests go through the API Gateway before hitting the microservices.\" \u002F \"Configure rate limiting at the API Gateway level.\"",[131,132,133],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":135},[136,137,138,139],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":125,"depth":51,"text":126},"networking","An API Gateway is the front door for all your APIs.","intermediate","md","a",{},"\u002Fterms\u002Fa\u002Fapi-gateway",[148,149,150,151,152],"Rate Limit","Load Balancer","Reverse Proxy","Microservices","Authentication",{"title":5,"description":141},{"changefreq":155,"priority":156},"weekly",0.7,"terms\u002Fa\u002Fapi-gateway","XzPMet7eabuDHsTJLEW_Ml1wI2IoaClMujwrEGHzuyc",[160,166,169,173],{"title":152,"path":161,"acronym":162,"category":163,"difficulty":164,"description":165},"\u002Fterms\u002Fa\u002Fauthentication","AuthN","security","beginner","Authentication is proving you are who you say you are.",{"title":149,"path":167,"acronym":6,"category":140,"difficulty":142,"description":168},"\u002Fterms\u002Fl\u002Fload-balancer","A load balancer is like a traffic cop for servers.",{"title":148,"path":170,"acronym":6,"category":171,"difficulty":164,"description":172},"\u002Fterms\u002Fr\u002Frate-limit","ai","A rate limit is the AI provider saying 'slow down, buddy.",{"title":150,"path":174,"acronym":6,"category":140,"difficulty":142,"description":175},"\u002Fterms\u002Fr\u002Freverse-proxy","A reverse proxy sits in front of your servers and handles incoming traffic on their behalf.",1776518252844]