본문 바로가기

전체 글322

Sharding - 개요 개발자가 샤딩이라는 용어를 접할 수 있는 가장 일반적인 분야는 DB인것 같다. DB 장비(instance) 1대가 감당할 수 있는 수준을 넘어서는 규모의 데이터를 처리해본적이 있다면 샤딩이라는 단어를 들어봤을것이다. 샤딩을 적용하면 전체 데이터가 여러 대의 장비로 분산되며, 이에 따라 자연스럽게 1대의 DB 서버가 받는 부하도 분산된다. 그런데 샤딩이 꼭 DB에만 샤딩이 적용되는것은 아니다. 공유 데이터에 대한 쓰기나 읽기 락 경합을 완화하기 위해 사용되기도 한다. Golang 에서 Map 을 사용한다고 가정해보자. 어떤 데이터를 DB로 부터 조회한 후, Map에 취합한다. 그런데 데이터가 커짐에 따라 속도가 생각만큼 나오질 않아 goroutine을 생성하고 취합을 빠르게 하려고 한다. CPU를.. 2024. 1. 13.
Fan-out, Fan-in - 출처: https://go.dev/blog/pipelines Go Concurrency Patterns: Pipelines and cancellation - The Go Programming Language Go Concurrency Patterns: Pipelines and cancellation Sameer Ajmani 13 March 2014 Introduction Go’s concurrency primitives make it easy to construct streaming data pipelines that make efficient use of I/O and multiple CPUs. This article presents examples o go.dev - 개요 Fan-out은 하나의 .. 2023. 11. 12.
Timeout - 개요 Timeout은 예상되는 시간내에 결과를 받지 못할 경우 오류 상황으로 간주하는 패턴이다. 사실 설명이 필요할까 싶을 정도로 널리 그리고 거의 필수적으로 사용되는 패턴이다. 하지만 그렇다고해서 중요하지 않은것은 아니다. 서비스들이 연쇄적으로 호출관계를 가질 때, timeout을 적용하지 않는다면 하나의 서비스만 장애가 나도 이를 연쇄적으로 호출했던 서비스들은 무한대기를 하게된다. 이때 timeout을 적용하면 하나의 서비스 장애가 전체 시스템 장애가 되는 상황을 방지할 수 있다. - Golang example 간단한 패턴인만큼 곧바로 golang 예제를 살펴보자. 사실 golang 에서는 첫번째 인자로 권장하는 context.Context 덕분에 구현이 굉장히 용이한편이다. func TestTi.. 2023. 11. 11.
볶음밥 - 출처: 백종원 볶음밥: https://www.youtube.com/watch?v=kR77WlHRZrs - 출처: 여경옥 볶음밥: https://www.youtube.com/watch?v=jS4Fy17Fsdk - 출처: 여경래 볶음밥: https://www.youtube.com/watch?v=qFUP_XTvJjo - 출처: 이연복 볶음밥: https://www.youtube.com/watch?v=kCcHAeOiaRI - 재료 밥 1공기, 대파, 달걀 2개, 식용유 4큰술, 진간장 1/2 큰술, MSG 1/4 큰술, 맛소금 1g(1/8) - 요리하기 전에 밥은 반드시 수분이 없는 밥으로 해야한다. 물론 취향차이는 존재하지만 일반적으로 생각하는 볶음밥은 고슬고슬하고 물기가 없는 볶음밥이고 내 취향은 물기가.. 2023. 11. 6.
Throttling - 출처: https://learn.microsoft.com/en-us/azure/architecture/patterns/throttling Throttling pattern - Azure Architecture Center Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service. learn.microsoft.com - 개요 어플리케이션 인스턴스, 개인 테넌트나 전체 서비스에 의해 사용되는 자원의 소비량을 제어한다. 리소스에 로드가 많이 걸리는 상황에서도 시스템이 계속해서 동작하고 서비스 수준 계약을 충족하도록 해준다. - Context and pr.. 2023. 11. 4.
티본 스테이크 기본적으로는 승우아빠의 궁금해요리의 스테이크편을 참조한것입니다. 재료를 최대한 간단하게 하고 내 입맛에 맞게 조정한것입니다. - 재료 필수: 티본 스테이크, 식용유 or 포도씨유, 소금 추가: 버터 - 요리 시작전에 뼈모양 T자를 기준으로 등심, 안심이 붙어있을텐데 두 부위의 굽는 시간을 다르게 (안심이 기름기가 적으므로 등심보다 덜 구워야 한다.)해야하므로 붙은 상태로 구우면 까다롭다. 칼로 고기를 뼈에서 도려낸다. 스테이크에 소금을 치고 1시간 정도 냉장고에 넣어놔야 한다. 이때 봉투나 랩으로 밀봉해서 넣어놓는것이 아니라 그냥 소금을 뿌린채로 넣어놓아 1시간 뒤 꺼냈을 때 겉 표면의 물기가 다 말라야 한다. 고기는 기본적으로 30초마다 뒤집어야 하므로 타이머나 스마트폰을 사용해야함을 인지한다. - 요.. 2023. 11. 1.