3분만에 알아보는 Redis를 사용한 분산 락
·
DEV/DB
들어가며안녕하세요 잡채입니다.연휴를 맞아 예전에 회사에서 동시성 처리 업무를 수행하며 공부했던 Redis를 사용한 분산 락에 대해 정리해둔 내용이 생각나 다시 읽어보며 업로드 합니다.Background이 글을 읽기 전 알아야할 내용Lock특정 임계 구역에 접근할 때 상호 배제를 보장하는 방법Distributed lock기본적인 lock의 개념을 가지면서 여러대의 서버가 하나의 임계 구역에 접근할 때 상호 배제를 보장하는 방법분산 락은 아래 3가지를 반드시 보장해야한다.Safety property상호 배제: 특정 순간에 단 1개의 클라이언트만 Lock을 보유해야한다.Liveness property A데드락 방지: Lock을 반납하지 못하고 죽은 클라이언트가 있어도 다른 클라이언트가 영영 Lock을 획득하지..
MongoDB Atlas Search 찍먹하기
·
DEV/DB
들어가며이전에 회사 업무에 MongoDB Atlas Search를 도입하며 찍먹용 정리글을 작성했던게 있어 블로그에 업로드 하려한다.ES 같은 검색엔진을 구성하는 것도 방법이었지만, DB를 MongoDB를 사용하고 있었고, 적은 비용으로 DB와 검색엔진을 모두 사용할 수 있어서 편하게 개발했던 기억이 난다.물론 지금도 서비스에서 잘 사용중이다 🚀Atlas Search 개요MongoDB의 Atlas Search를 사용하면 Atlas 클러스터의 데이터에 대한 세분화된 텍스트 인덱스 및 쿼리를 수행할 수 있다.데이터베이스와 함께 추가 관리나 별도의 검색 시스템 없이 애플리케이션에 대한 고급 검색 기능을 사용할 수 있다.Atlas Search는 여러 종류의 텍스트 분석기와 $search, $searchMeta..
MongoDB Associate Developer Node.js 자격증 합격 후기
·
DEV/잡다한 개발 일지
들어가며안녕하세요. 오랜만에 블로그에 글을 올립니다.매번 올려야겠다 다짐하지만 퇴근하면 잘 안올리게 되네요. :sad:이번에 사내 스터디로 MongoDB 자격증 스터디를 진행하며 최종적으로 MongoDB Associate Developer exam 에 합격하여 후기를 올려보려 합니다.준비하면서 찾아봤을 때 MongoDB 자격증은 국내 후기가 많지 않더라구요.시험 정보MongoDB 자격증도 종류가 여러가지 있습니다. 저는 MongoDB를 사용해 개발하는 개발자이니 Associate Developer Exam을 준비했습니다.이밖에도 사진처럼 Data Modeler나 DBA 자격증도 있으니 본인의 목적에 따라 신청하면 됩니다.제가 본 시험은 아래와 같았습니다.시험 방법 : Online (examity 활용)..
[Nest.js/Prisma] e2e 테스트 시 docker 로 격리된 MySQL 환경 세팅
·
DEV/Node.js
들어가며 안녕하세요. 잡채입니다 🙇🏻 얼마 전 사이드 프로젝트 서버 작업을 하며, e2e 테스팅 중 docker 를 사용해 MySQL DB를 완전히 격리해 테스트 할 수 있도록 환경을 세팅해보았습니다. e2e 테스트 시 애플리케이션의 처음과 끝을 흐름에 따라 모두 테스트 하기 때문에 당연히 DB 접근을 해야합니다. 현재 프로젝트의 경우 개발용 MySQL DB 를 RDS에 올려 사용 중인데 아무리 개발용 데이터베이스라 하여도 여러번 진행되는 e2e 테스트 마다 테스트용 데이터들이 쌓이거나 바뀌도록 구성할 수는 없었습니다. 또한, 현재 사용중인 데이터를 잘못하여 update 시키거나 삭제할 수도 있기 때문에 e2e 테스트 중에는 격리된 데이터 베이스를 새로 구성하고 싶었습니다. 여러 자료를 찾아보던 중 pr..