TIL
-
2024.06.12 How Pinterest Scaled to 11 Million Users With Only 6 EngineersTIL 2024. 6. 14. 00:05
How Pinterest Scaled to 11 Million Users With Only 6 Engineers How Pinterest Scaled to 11 Million Users With Only 6 EngineersScaling Pinterest — From 0 to 10s of Billions of Page Views a Month in Two Yearsmedium.compinterest가 성장함에 따라 기술 선택을 한 이유를 설명한다.DB 확장.데이터가 급증했고 사용량이 증가했다.해결을 위해 클러스터링과 샤딩을 고민했다.클러스터링은 고가용성과 노드 부하를 방지할 수 있다. 다만 클러스터링에 대한 개념이 필요하고 개념이 없다면 관리가 힘들 수 있다. 샤딩은 수평 파티셔닝으로 데이터를 규칙에..
-
2024.06.10 Concurrency Challenges in Database TransactionsTIL 2024. 6. 10. 22:28
Concurrency Challenges in Database Transactions: Isolation Levels and Locking Mechanisms Concurrency Challenges in Database Transactions: Isolation Levels and Locking MechanismsPicture a scenario where users in a banking system initiate fund transfers simultaneously, potentially leading to conflicts and…dip-mazumder.medium.com락에 대한 글.낙관적 락과 비관적 락에 대해 이야기한다. 충돌이 자주 발생하지 않을 거 같거나, 높은 동시성이 중요하다면 낙관..
-
2024.06.09 coding questionTIL 2024. 6. 9. 23:45
My favorite coding question to give candidates My favorite coding question to give candidatesA coding question, from the viewpoint of an Google/Amazon/Microsoft interviewercarloarg02.medium.com 코딩 테스트는 필요악..알고리즘을 달달 외워서 푸는 것이 도움이 되나? 이것이 같이 일할 사람을 뽑는 기준이 될 수 있는가?본인은 이것이 노력을 들이지 않고 거름망에 거르듯 하겠다는 것으로 느껴진다.차라리 글에서 처럼 실생활 사례로 알고리즘 유추하는 것이 더 좋은 인터뷰 방식인 거 같다. 일을 하다 보면 기획에서의 애매모호한 것들이 있다. 기획자와 대부분의 대화는..
-
2024.06.05 12 common software architecture stylesTIL 2024. 6. 5. 21:55
12 common software architecture styles, essential for architects 12 common software architecture styles, essential for architectsWhat is software architecture?medium.com음 여러 아키텍처들을 소개하고 있다.소개전에 아키텍처 문서화에 대해서 이야기가 나오는데 이 부분은 좋은 거 같다.1. 컨텍스트 수준에서의 설명이다. 사용자, 타 시스템, 규정 등 시스템의 목적과 외부 연관성을 설명한다.2. 컨테이너 수준. 인프라를 설명한다.3. 컴포넌트 수준. 시스템의 컴포넌트들, 블록들을 설명하고 연관관계를 설명한다.4. 코드 수준, 코드의 작동방식을 설명한다.문서화를 하게되면 위와 같은..
-
2024.06.03 Design a Real-Time Leaderboard systemTIL 2024. 6. 3. 22:45
Design a Real-Time Leaderboard system for millions of users Design a Real-Time Leaderboard system for millions of usersUnpacking Challenges, Assumptions, and the Scope of Real-Time Leaderboard Designmedium.com 사용자가 많고 쌓이는 데이터가 많을 때 rank를 뽑는 방법에 관한 글이다.RDB를 사용해 각종 정보를 저장할 때 rank나 limit를 통해 DB에서 데이터를 뽑을 수 있다.RDB는 관계형 데이터를 저장하기 적합하며 ACID 특성으로 트랜잭션 작업의 무결성을 지킬 수 있는 장점이 있다. 평균 유저 기반으로 시간당 리퀘스트를 계산해보아..
-
2024.05.30 High-Level System ArchitectureTIL 2024. 5. 31. 00:03
High-Level System Architecture of Booking.com High-Level System Architecture of Booking.comHello everyone! In this article, we will take an in-depth look at the possible high-level architecture of Booking.com, one of the world’s…medium.combooking.com의 아키텍처를 설명한다.여러 서비스로 분산된 MSA 구조를 띄고 있다. 검색등 사용자 빈도가 높은 서비스가 있는 반면 사용자 접근이 적은 서비스가 있다.이를 한데 묶는 거보다 빈도가 높은 서비스를 확장하는 것을 선택했다.DB는 RDB를 선택했고 ACID 속성이 예약..
-
2024.05.29 CQRS in ActionTIL 2024. 5. 29. 23:15
CQRS in Action: Building Robust Micro Services with Spring Boot CQRS in Action: Building Robust Micro Services with Spring BootIn this article we will clearly see how the CQRS design pattern will demystify some of the challenges that we will encounter while building…towardsdev.comCQRS에 관한 글이다. 여태 CQRS예시로는 하나의 프로젝트에서 read와 write를 분리시키는 것만 보았는데 해당 글에서는 프로젝트를 분리시켰다.본문에서도 말하지만 이건 작은 프로젝트에서는 오버 엔지니어링..
-
2024.05.27 StackOverflow Monolithic ArchitectureTIL 2024. 5. 27. 22:22
StackOverflow Monolithic Architecture StackOverflow Monolithic ArchitectureStackOverflow is one of the most resource-demanding websites out there. Several questions, answers, and follow-ups make up threads. Then…blog.stackademic.com스택오버플로우의 아키텍쳐에 대한 글이다. 이전에도 스택오버플로우는 MSA가 아닌 모놀리식으로 구현되어있다고 글을 쓴 적이 있다.데이터에 비해 18ms라는 놀라운 응답속도를 보여준다.SQL 서버의 ram의 크기가 가히 놀라운데 1.5TB이다.