mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-11 00:05:36 +02:00
✨ feat: Clean up after the blog
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,54 +0,0 @@
|
||||
---
|
||||
title: "10 System Design Concept You Should Know"
|
||||
summary: "This is my first post!"
|
||||
slug: "10-system-design-concept-you-should-know"
|
||||
thumbnail: "/seo/banner.png"
|
||||
createdAt: "2024-08-28T11:24:39.659Z"
|
||||
---
|
||||
|
||||
Ever wondered how tech giants handle millions of users without breaking a sweat? Or why your app crashes under heavy load? Dive into these 10 crucial system design concepts – explained so simply, even your grandma would get it!
|
||||
|
||||
## 1. Scalability: Growing Pains, Solved
|
||||
* **What it is**: Making your system handle growth like a champ
|
||||
* **Types**:
|
||||
- Vertical (beefing up one machine)
|
||||
- Horizontal (adding more machines)
|
||||
* **Why it matters**: Because nobody likes a website that crashes on Black Friday!
|
||||
|
||||
### 2. Load Balancing: Traffic Control for Servers
|
||||
* **In a nutshell**: Distributing work evenly so no server has a meltdown
|
||||
* **Why it matters**: It's like having multiple cashiers during rush hour – faster service for everyone!
|
||||
|
||||
### 3. Caching: The Art of Being Lazy (Efficiently)
|
||||
* **What it does**: Remembers frequently used data for quick access
|
||||
* **Why it matters**: Imagine if your brain cached the location of your keys!
|
||||
|
||||
### 4. Database Sharding: Divide and Conquer
|
||||
* **The gist**: Splitting a huge database into manageable chunks
|
||||
* **Why it matters**: It's like organizing your closet – finding things becomes way easier!
|
||||
|
||||
### 5. CAP Theorem: The "Pick Two" Dilemma
|
||||
* **The choice**: Consistency, Availability, Partition tolerance – choose wisely!
|
||||
* **Why it matters**: It's the "Fast, Good, Cheap – pick two" of distributed systems
|
||||
|
||||
### 6. Microservices: Small is the New Big
|
||||
* **What it is**: Breaking down your app into bite-sized, independent services
|
||||
* **Why it matters**: It's like LEGO – easier to build, change, and fix!
|
||||
|
||||
### 7. API Gateway: The Ultimate Bouncer
|
||||
* **Job description**: Guards your APIs, handles security, directs traffic
|
||||
* **Why it matters**: Think of it as a smart receptionist for your digital business
|
||||
|
||||
### 8. Eventual Consistency: Patience is a Virtue
|
||||
* **In simple terms**: Data will be consistent... eventually
|
||||
* **Why it matters**: It's like gossip – everyone will get the right info, just not instantly
|
||||
|
||||
### 9. CDN: The Global Coffee Shop Chain
|
||||
* **What it does**: Puts your content closer to users, everywhere
|
||||
* **Why it matters**: Faster load times = happier users = more business
|
||||
|
||||
### 10. Containerization: Pack It, Ship It, Run It
|
||||
* **The concept**: Wrap up your app with everything it needs
|
||||
* **Why it matters**: It's like a TV dinner, but for code – consistent everywhere!
|
||||
|
||||
Remember, understanding these concepts is like learning the rules of the road. You might not use them all every day, but knowing them makes you a better driver (or in this case, a better developer)!
|
||||
@@ -54,16 +54,6 @@ export default component$(() => {
|
||||
<svg width="18px" height="18px" stroke-width="1.5" viewBox="0 0 24 24" fill="none" color="currentColor"><path d="M10.25 4.75l-3.5 3.5 3.5 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M6.75 8.25h6a4 4 0 014 4v7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
|
||||
Blog
|
||||
</Link>
|
||||
{/* <ul id="toc" class="list-none p-0 m-0 flex flex-col items-start justify-start gap-1">
|
||||
{headings?.map((heading) => (
|
||||
<li key={heading.id} class="text-sm text-gray-600 dark:text-gray-400 relative transition-all duration-200">
|
||||
<a href={`#${heading.id}`} class="flex flex-row items-center ml-4 gap-2 overflow-ellipsis text-nowrap hover:text-gray-900 dark:hover:text-gray-100">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 absolute left-0 hidden group-hover:block" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="m7 6l-.112.006a1 1 0 0 0-.669 1.619L9.72 12l-3.5 4.375A1 1 0 0 0 7 18h6a1 1 0 0 0 .78-.375l4-5a1 1 0 0 0 0-1.25l-4-5A1 1 0 0 0 13 6z" /></svg>
|
||||
{heading.text}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul> */}
|
||||
</nav>
|
||||
</div>
|
||||
<div class="max-w-xl mx-auto w-full gap-1 flex flex-col">
|
||||
@@ -77,7 +67,6 @@ export default component$(() => {
|
||||
<path d="M24 0v24H0V0zM12.594 23.258l-.012.002l-.071.035l-.02.004l-.014-.004l-.071-.036q-.016-.004-.024.006l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.016-.018m.264-.113l-.014.002l-.184.093l-.01.01l-.003.011l.018.43l.005.012l.008.008l.201.092q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.003-.011l.018-.43l-.003-.012l-.01-.01z" />
|
||||
<path fill="currentColor" d="M6 7a5 5 0 1 1 10 0A5 5 0 0 1 6 7m5-3a3 3 0 1 0 0 6a3 3 0 0 0 0-6M4.413 17.601c-.323.41-.413.72-.413.899c0 .118.035.232.205.384c.197.176.55.37 1.11.543c1.12.346 2.756.521 4.706.563a1 1 0 1 1-.042 2c-1.997-.043-3.86-.221-5.254-.652c-.696-.216-1.354-.517-1.852-.962C2.347 19.906 2 19.274 2 18.5c0-.787.358-1.523.844-2.139c.494-.625 1.177-1.2 1.978-1.69C6.425 13.695 8.605 13 11 13q.671 0 1.316.07a1 1 0 0 1-.211 1.989Q11.564 15 11 15c-2.023 0-3.843.59-5.136 1.379c-.647.394-1.135.822-1.45 1.222Zm16.8-3.567a2.5 2.5 0 0 0-3.536 0l-3.418 3.417a1.5 1.5 0 0 0-.424.849l-.33 2.308a1 1 0 0 0 1.133 1.133l2.308-.33a1.5 1.5 0 0 0 .849-.424l3.417-3.418a2.5 2.5 0 0 0 0-3.535Zm-2.122 1.414a.5.5 0 0 1 .707.707l-3.3 3.3l-.825.118l.118-.825z" /></g>
|
||||
</svg>
|
||||
{/* By */}
|
||||
{frontmatter.authors?.map((author: any, index: number) => (
|
||||
<>
|
||||
|
||||
@@ -85,15 +74,13 @@ export default component$(() => {
|
||||
{author.name}
|
||||
</Link>
|
||||
|
||||
{/* {author.name !== frontmatter.authors[frontmatter.authors.length - 1].name && ', '} */}
|
||||
{index < frontmatter.authors.length - 2 && ', '}
|
||||
{index === frontmatter.authors.length - 2 && (frontmatter.authors.length > 2 ? ', and ' : ' and ')}
|
||||
</>
|
||||
))}
|
||||
</span>
|
||||
<span class="text-base dark:text-neutral-400 items-center flex flex-row w-full overflow-ellipsis text-neutral-600 text-nowrap">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-5 mr-1" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8s8 3.58 8 8s-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24a.71.71 0 0 0-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72"/></svg>
|
||||
{/* On */}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-5 mr-1" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8s8 3.58 8 8s-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24a.71.71 0 0 0-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72" /></svg>
|
||||
|
||||
{new Date(frontmatter.createdAt).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' })}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user