본문 바로가기

분류 전체보기49

Redis 최적화하기 우리회사는 Response 속도를 극대화하기위해 다중 캐시 시스템을 구축하고 있다. 처음에는 Redis를확인하고, Redis에 데이터가 없다면 Database를 확인 데이터를 확인하며, 둘 다 캐시된 데이터가 없을 경우 최신 데이터를 불러오는 방식이다. 이 때 Redis 서버가 바로 응답하지 못하는 상황에 빠지는 상황에 대비하여 실제 get요청을 하기 이전에 ping이라는 가벼운 요청을 통해 Redis를 사용할 수 있는지를 검증한다. 그리고 만약에 ping요청이 200ms 보다 더 오래걸린다면 빠르게 응답할 수 없는 상태로 간주하기로 하였다. 그 이유는 ping은 대체로 50ms 이내로 응답이 와야하는것이 일반적이기 때문이다. (개선 후의 캡쳐본-개선 이전의 기록는 시간이 지나 삭제됐다..) APM 기록.. 2024. 1. 27.
Puppeteer 최적화 작업 기록 (feat. Browserless) 최근 회사에서 온 힘을 쏟고있는 프로젝트의 최적화 작업을 맡게 되었었다. 임무는 다음과같았다. puppeteer를 통해 이루어지는 작업이 있는데, 최대한 빨라야한다. 서버가 계속적으로 중단 및 재시작 되는 이슈를 잡아야한다. 우리회사는 독특하게 이미지를 생성하기위해 puppeteer를 사용한다. 이는 자동화 이미지 생성을 위해 새로운 개발자를 채용하기 보다, 기존 인력에서 html+css와 js를 추가 활용하여 적합한 이미지를 생성하기 위함이다. 나는 곧바로 문제 분석에 들어가게 되었고, 가장 직관적으로 문제를 확인할 수 있는 코드 분석 부터 진행 해 보기로 했다. 그리고 파악한 상황은 아래와 같았다. 이미지 작업을 위해 puppeteer를 사용한다. 각 이미지 작업은 수없이 많은 js코드를 실행 해야 .. 2024. 1. 23.
올해 첫 나에게 준 선물 원래 책은 정말 좋아하지 않던 나였다. 내가 고등학생 때에도 동영상 강의을 줄곧 보았었고, 개발자로 취직을 했을 때에도 동영상 강의을 통해 공부하기를 좋아했다. 나에게 맞는 동영상 강의들의 특징 그리고 그게 누구인지도 알고 있었다. 나에게 최고의 코딩 강사는 콜롬비아에서 온 "노마드코더" 였다. "이것은 A 입니다. 이것은 B입니다."라고 가르쳐주는 한국의 고리타분한 교육방식은 나를 졸리게만 하였고, 공부에 대한 열정을 오히려 떨어뜨리는 방식의 강의들이 대부분이었다. 그런 나에게 외국인이 외국방식의 교육을 해주는데, 이는 나에게로서 참신하고 재미있는 경험이었다. 교육의 방식은 A를 하면 겪게되는 문제를 직접 보여주고 문제상황을 겪게끔 만들어주고, 이를 해결하는 식의 강의였다. 그리고 나에게 원론적인 호기.. 2024. 1. 17.
[홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 이렇게 홈서버 구축은 완료됐다. 이제 홈 네트워크 구성도 및 실제 홈서버 배치 모습, 그리고 완성된 VPN 네트워크 구성도를 작성.. 2024. 1. 6.
[홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 앞선 게시글에서 여러개의 서버를 운영할 때 공유스토리지가 필요 한 이유에 대해 설명을 하고 마무리되었다. 필자는 이를 깨달았을 때.. 2024. 1. 6.
[홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 홈서버에서 서비스 운영을 위해서 나는 Docker 그리고 Docker Swarm 사용했다. 이번글에는 그 이유와, 사용법을 서술 .. 2024. 1. 6.
[홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 내가 처음 홈서버 구축에 크게 걱정하던 것 중 하나가 DDoS이다. 첫째, Cloudflare에서 DDoS 보호모드가 있다라고는 .. 2024. 1. 6.
[홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 앞선글에 작성한 대로 내가 염려하는 사항중에 하나는 내 서버의 아이피가 공공에 노출되는 것이다. 이는 누군가 내 서버에 대해 안좋.. 2024. 1. 6.
[홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS 홈서버 구축하기 시리즈 [홈서버구축하기 1] 홈서버를 구축 한 이유 [홈서버구축하기 2] 제품 선택 및 설치 [홈서버구축하기 3] 내부망 고정아이피 설정 및 포트포워딩 그리고 DDNS [홈서버구축하기 4] 클라우드플레어를 활용하여 내 서버 아이피 숨기기(feat. HTTPS) [홈서버구축하기 5] 클라우드를 사용해 게이트웨이 구축(feat.vpn) [홈서버구축하기 6] Docker 및 Docker Swarm 설정하기 [홈서버구축하기 7] 공유 스토리지를 만들어보자(feat. 시놀로지) [홈서버구축하기 8] 완성된 내 홈서버 네트워크 구성도 및 홈서버 배치 모습 그리고 총 비용 먼저 서버 셋업이 완료 되었으면 가장 먼저 설정하고 구성해야하는것이 있다. 내부망 내부망? 집에 인터넷이 들어온다면, ISP를 통.. 2024. 1. 6.