본문 바로가기

나의 공부22

Cache 탐험 팀프로젝트에서 캐시를 사용해야할 일이 생겨서 각 종류와 사용용도를 공부하게 되었습니다. 기초적인 내용이기도 하고, 모든 캐시를 다루지 않기 때문에 이외로 추가 공부를 하시길 바랍니다. Cache 캐시는 자주 사용하는 데이터나 값을 미리 저장해 두는 임시 저장 공간을 의미합니다. 위 행위를 통해 데이터 접근 시간을 단축하고 시스템의 효율성을 향상시킬 수 있습니다. 캐시는 메모리에 저장되기 때문에 데이터나 정보를 빠르게 검색하고 접근하는 데 있어서 아주 중요한 역할을 합니다. 일반적으로 많이 사용되는 곳으로는 많은 사람들에게 노출되며 많은 요청을 하게되는 데이터가 될 것 같습니다. 위 이미지에서는 뉴스 또는 날씨, 광고와 같이 빈번하게 접근이 이루어지고, 요청 시간이 오래걸려서 부담이 되는 데이터에 적용됩니.. 2023. 8. 28.
Kafka와 Redis를 활용한 재고에 대한 동시성 처리기 - 3 https://suho0303.tistory.com/50 카프카를 활용한 재고에 대한 동시성 처리기 - 2 https://suho0303.tistory.com/48 카프카를 활용한 재고에 대한 동시성 처리 - 1 패션 이커머스 도메인에 대한 프로젝트를 하면서 쿠버네티스로 배포를 진행했습니다. 근데 배포시에 pod 두개로 서버가 띄 suho0303.tistory.com 지난 게시물까지 카프카를 활용해서 동시성 문제를 처리하는 방법을 한번 구현해보았습니다. 그러나 구현을 했음에도 이게 진짜 순서 보장이 되고 있는 것인가 에대한 고민이 계속 있었는데요. 그래서 카프카의 용도를 바꾸고, 분산락을 사용해서 동시성 처리를 하는 것으로 로직을 변경해서 테스트 해볼까합니다. 카프카 기존의 카프카를 사용하고 있었던 용도.. 2023. 7. 19.
Kafka를 활용한 재고에 대한 동시성 처리기 - 2 https://suho0303.tistory.com/48 카프카를 활용한 재고에 대한 동시성 처리 - 1 패션 이커머스 도메인에 대한 프로젝트를 하면서 쿠버네티스로 배포를 진행했습니다. 근데 배포시에 pod 두개로 서버가 띄워지기 때문에, pod별로 값이 공유되지 않아, 주문시에 동시성 문제가 suho0303.tistory.com 잘못된 방식이니 따라하지 마세요!!!! 이전 게시물에서 단일 파티션에서의 동시성 처리에 대해서 작성해보았는데요. 단일 파티션으로 동시성을 처리하게 되면, 현재 상태에서는 문제가 없겠지만 이후 프로젝트가 확장할 시에 많은 성능적 문제가 발생하게 됩니다. 문제점 단일 파티션을 하게되면 한 파티션에만 메세지가 쌓이기 때문에 순서 보장이 됩니다. 그러나, 단일 파티션으로 구성시에는 모.. 2023. 7. 18.
kafka를 활용한 재고에 대한 동시성 처리기 - 1 패션 이커머스 도메인에 대한 프로젝트를 하면서 쿠버네티스로 배포를 진행했습니다. 근데 배포시에 pod 두개로 서버가 띄워지기 때문에, pod별로 값이 공유되지 않아, 주문시에 동시성 문제가 발생했었습니다. 참 난감했는데요. 구글링을 하면서 DB락, Redis 등 여러 방법이 있었지만, 저는 먼저 카프카를 이용해서 이 동시성 문제를 해결해볼까 했습니다. 나중에도 까먹지 않기 위해 이 해결했던 경험을 기록할까 합니다. 서버, 설정 저희의 서버는 pod 두개로 배포가 되어있습니다. 이 pod들은 값을 공유하지 않습니다. 따라서 각 pod별로 이렇게 주문이 실행되게 될때 재고에 대한 값이 공유되지 않습니다. 따라서 kafka나 다른 기능을 사용해서 이런 값이 공유되지 않는 동시성 문제를 해결해야하는데요. 우선은.. 2023. 7. 16.
반응형