프로젝트를 시작하면서 여러가지 이슈들이 생긴다. 그중에 최근에 만낫던 이슈인 비밀번호 암호화에 대해서 이야기 해보려고한다. User 로그인 회원가입 등의 기능을 구현 중에 User의 중요정보인 비밀번호를 암호화해서 DB에 저장 해야 할 일이 생겼다. 이전에도 Spr
개요 회원가입 기능 구현중에 유저의 아이디를 중복확인 하는 로직이 있었는데 같은 아이디로 동시에 회원가입할때 예측한대로 작동하지 않는 버그가 있었다. (인덱스지정 x) 문제의 코드 문제점 isDuplicateUserId에 여러 스레드가 접근시에 제대로 동작하지않고
2편 무중단 배포 구현하기 1편에 이어서 이번에는 서비스를 중단하지않고 배포할수있는 환경을 만들어 보자. 무중단 배포 방식 무중단 배포방식은 롤링배포 블루그린 배포 카나리 배포 크게 이렇게 3종류의 배포 방식이 존재한다. 각각 어떤식으로 배포되고 장단
1편 CI/CD 구축하기 도입 배경 프로젝트 중에 새로운 버전이 개발되면 원격 서버에도 해당 버전으로 업그레이드해줘야 한다. 이전에는 원격 서버에 배포하기 위해서 직접 테스트하고 빌드 후에 Filezilla로 서버 파일을 옮겨서 배포했다. 프로젝트가 진행되면서 배포해
DB 사양, os 등의 테스트 환경이나 데이터의 분포도에 따라서 결과가 달라질 수 있습니다. 프로젝트에서 검색 기능을 개발하면서 있었던 DB 성능 이슈를 어떻게 해결했는지를 공유하고자 한다. Mysql 만으로 검색 기능 개발하기 오로지 Mysql DB를 이용해서 검
개요 1편에 이어서 이번에는 ELK stack을 사용하기 위한 환경 세팅을 해보자! > ELK version 7.17.8 이글에서는 ELK stack 환경을 세팅하는 두 가지 방법을 소개해 볼 예정이다. 직접 ELK stack을 설치하고 세팅하기 docker
검색성능 테스트하기 RDB vs Elastic search 응답 속도 얼마나 차이가 날까 ? 검색데이터가 많은 경우에는 전문검색을 사용하기 어려워서 일반 index 검색을 사용했다 검색 데이터가 20만건 이상인 경우 index search vs elasticsear
프로젝트를 진행하면서 cloud 환경에서 redis를 이용했는데 이과정에서 겪었던 다양한 문제들을 기술해보기로했다. 왜 ? cluster인가 가끔 생각해보았다 우리는 session이나 어떤 정보들을 redis에 넣었는데 redis가 갑자기 죽는다면 ? 100만명이