TIL
-
2024.04.28 kafka c#, spotify system designTIL 2024. 4. 28. 21:01
Kafkahttps://medium.com/@clasikas/kafka-producer-consumer-c-part-1-e4b9cebd1ef1 KAFKA : producer & consumer C#(part 1)Most of my stories oriented for practical exercise (you can see my previous story), but before start to working with Kafka Consumer &…medium.com카프카 사용을 c# 예제로 보여준다.기본 적인 개념에 대해 설명한다. 메시지 프로듀싱은 키를 지정하지 않은 한 라운드로빈 방식이다.키가 동일하면 같은 파티션에 적재가되고 파티셔너를 커스텀할 수도 있다.이는 단일 파티션일 경우에는 의미가 없어지는..
-
2024.04.27 html form CORSTIL 2024. 4. 27. 17:35
0. 들어가며안녕하세요. 이번에는 CORS 문제를 해결하면서 생긴 궁금증에 대해 이야기해보려고 합니다.작업 중 CORS 오류를 만났고 해결 과정 중 Fetch API와 Form의 동작 결과가 다르다는 것을 알게 되었습니다.지금부터는 왜 다르게 동작하는지에 대해 이야기하고자 합니다.CORS문제나 SOP에 대해서는 설명하지 않습니다. 1. 기능fetch API를 사용했을 때의 동작입니다.api.example.com에게 post 요청을 보냅니다.pre-flight 요청이 발생합니다.서버에서는 access origin으로 example.com을 등록해 놨기에 요청이 성공합니다.서버로부터 302 응답이 옵니다.Location에 정의된 페이지로 요청을 보냅니다pre-flight 요청이 실패합니다. 2. fetch..
-
2024.04.26 migrating critical trafficTIL 2024. 4. 26. 22:17
https://netflixtechblog.com/migrating-critical-traffic-at-scale-with-no-downtime-part-1-ba1c7a1c7835 Migrating Critical Traffic At Scale with No Downtime — Part 1Shyam Gala, Javier Fernandez-Ivern, Anup Rokkam Pratap, Devang Shahnetflixtechblog.com시스템을 마이그레이션 할 때 테스트를 진행해야 한다.트래픽을 리플레이해서 안정성을 살펴보는 방법이다.기존 코드에 덧 붙이거나 클라이언트에서 양방향으로 데이터를 보내는 방법도 있다.다만 이는 부작용이 있다. 기존 코드는 복잡해지고 클라이언트는 성능에 악영향이 간다.아예 ..
-
2024.04.25 Use Nginx as a Reverse ProxyTIL 2024. 4. 25. 22:58
Use Nginx as a Reverse Proxy Use Nginx as a Reverse ProxyIn the domain of web services, efficient handling of incoming traffic, load balancing, and securing server resources are paramount. Nginx…awstip.com일반적으로 프록시 (포워드 프록시)는 클라이언트의 요청을 받아서 인터넷에 대신 연결을 해주는 것을 말한다.언제 사용할까? 보안이 중요한 회사에서 내부망에서 외부 인터넷에 접근할 때 사용할 수 있겠다.리버스 프록시는 반대로 클라이언트는 인터넷까지 연결되고 인터넷이 리버스 프록시를 거쳐서 서버에 도달하는 것이다. 기본적으로 was에 웹서버도 있어서..
-
2024.04.24 message broker comparison, duplication in kafkaTIL 2024. 4. 24. 19:34
요즘 출퇴근마다 영어 읽기 능력을 키우려고 영문 기술글을 읽는데 나름 재밌다.주제는 이메일로오는 medium 기술 글을 보고 있다.message broker comparison Kafka vs. RabbitMQ vs. Pulsar: The Ultimate Messaging Showdown 🚀In the bustling world of message brokers, three champions often steal the spotlight: Kafka, RabbitMQ, and Pulsar. These contenders are not…medium.comkafka 선택의 이유. sqs 관리가 더 편할 텐데가장 대표적인 메시지 브로커이면서 많은 참고 자료들이 있다. 가 이유가 ..
-
2024.04.23 Read-your-write consistency, redirect CORSTIL 2024. 4. 23. 22:25
Read-your-write consistency Read-your-write consistency arpitbhayani.me우버 글을 보다가 첨부되어 있는 글입니다.서비스를 운영하면 가용성을 높이기 위해 db 이중화를 하게 됩니다.복제 과정에서 마스터와 리플리카는 잠시 데이터 차이가 나게 됩니다.(MMM active-ativce 구조에서도 구현 방법에 따라 날 수 있다.) 해당 글에서는 그 찰나에 사용자가 데이터를 조회했을 때 발생하는 리플리카 렉을 어떻게 줄일 수 있는지 설명하고 있습니다. 문제 해결 방법은 여러 가지가 있는데 흥미롭게 본 것은 Master Fallback입니다.사용자는 리플리카에 접근합니다. 만약 데이터가 없으면 마스터에게 질의합니다.단순하게 봐도 리플리카 렉이 적은 경우에만 ..
-
2024.04.22TIL 2024. 4. 22. 22:14
https://blog.det.life/how-does-uber-build-real-time-infrastructure-to-handle-petabytes-of-data-every-day-ddf5fe9b5d2c How does Uber build real-time infrastructure to handle petabytes of data every day? All insights from the paper: Real-time data infrastructure at Uber blog.det.life
-
2024.04.16 Multitenancy환경에서의 auth gatewayTIL 2024. 4. 17. 00:00
Multitenancy에서 auth gateway를 쓴다면 해당 유저가 접근하는 자원에 권한이 있는지를 어떻게 검증해야할까.auth gateway의 db와 어플리케이션 db는 분리된 상태이다.비슷한 예로 AWS 람다를 통해 권한을 검사하는 예제가 있는데.. https://aws.amazon.com/ko/blogs/compute/managing-multi-tenant-apis-using-amazon-api-gateway/ Managing multi-tenant APIs using Amazon API Gateway | Amazon Web ServicesThis post covers the API Gateway usage plan feature to protect multi-tenant APIs from ex..