Home
Youngho's Devlog
Cancel

[Backend] 로드 밸런서 사용 시의 이슈 중 세션 관리 문제

로드 밸런서 사용 시의 이슈 중 세션 관리 문제 로드 밸런서에 의해 이전 요청과 현 요청에 분배되는 서버가 다를 경우 세션 관리 일관성에 문제가 발생한다. 로드 밸런서 세션 관리 문제의 예시 1) 먼저 로그인 요청을 A서버로 보낸다. A서버의 세션에는 martin이라는 값이 저장되고 A서버에서는 로그인 성공이라는 응답을 보낸다. 2...

[Backend] 동기&비동기&block&non-block

동기 & 비동기(데이터를 받는 방식) 동기(synchronous : 동시에 일어나는) 말 그대로 동시에 일어난다는 뜻 요청과 그 결과가 동시에 일어난다는 약속 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 함 시간을 맞추는 것, 즉 요청을 하면 응답 데이터가 올때가지 기다리며 시간을 맞춤 ...

[Backend] Semantic Versioning

Versioning? 소프트웨어의 패키지가 새롭게 업데이트 될 때, 생각보다 다양한 문제에 직면하게 된다. 기능의 사용법을 바꾸어버리거나 동작 방식의 변경 같은 변화들은 그에 의존하는 다른 소프트웨어를 의도대로 동작하지 못하게 하므로, 새로운 변화와 기존의 것을 구분할 필요가 생겼다. 이로 인해, 버전이라는 개념은 소프트웨어 패키지의 변화를 ...

[Backend] Refactoring(리팩토링)

리팩토링의 개념 소프트웨어를 보다 쉽게 이해할 수 있도록 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법(이해하기 쉬운 코드가 수정하기도 쉬움) 리팩토링의 목적 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것 리팩토링을 하는 이유 유지 보수를 쉽게 하기 위해(코드를 이해하기 쉽고, 수정하기 쉽도록 하기 위해)...

[Backend] LoadBalancer(로드 밸런서)

로드 밸러서란? 부하 분산을 위해 가상 IP를 통해 각 서버에 Request를 분배하는 기능 즉, 대용량 트래픽을 장애없이 처라히기 위해 여러 대의 서버에 적절히 트래픽을 분배해주는 기능 로드 밸런서의 예시 다음 그림과 같이 Request A~F는 로드 밸런서 알고리즘에 의해 적절하게 분배된다. 만약 라운드 로빈 방식으로 분배된...

[Docker] Docker

Docker 도커를 사용해야 하는 이유? 수평적 확장에 편리성 (ex. 테스트 서버에서 운영서버로 작업을 하려면 단순하게 똑같이 서버를 세팅할 필요없이 Dockerfile로만 가능하기에 편리함) 서버의 견고함을 보장하면서도 컨테이너를 실행시킬때 마다 주는 환경변수를 달리 할 수 있어 운영에 있어 유연성을 가짐 여러 대에 배포 할 수 있어 ...

[Backend] Debugging(디버깅)

디버깅이란? 디버깅의 뜻은 프로그램 실행 시 문제를 일으키는 오류, 즉 ‘버그’를 찾아 해결하는 과정을 의미한다. 이 버그는 크게 문법적 오류와 논리적 오류로 분류할 수 있다. 문법적 오류는 말 그대로 프로그래밍 언어의 문법에 맞지 않는 코드가 있을 경우 발생하며 대체로 IDE로 해결할 수 있기에 디버깅이 쉬운편이다. ...

[AWS-EC2] Ec2에 Chrome 및 ChromeDriver 설치

Chrome 설치 1) yum 저장소 생성 sudo vi /etc/yum.repos.d/google-chrome.repo 1-2) 아래와 같이 파일 내용작성 [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/<br>stable/$base...

[AWS-EC2] Ec2에 jdk, tomcat, mysql 설치

ec2 기본 설정 1. 키 파일의 접근권한 변경 $ chmod 400 ~/Desktop/AWSkey/keyfile.pem 2. 맥 터미널을 이용한 접속 $ ssh -i ~/Desktop/AWSkey/keyfile.pem ec2-user@[서버 아이피 또는 도메인]<br> 3. ec2 시간대 변경 1) 기본 시간대 설정은 UTC로 설...

[AWS-EC2] Ec2에 Jenkins설치

Docker를 활용한 Jenkins설치 https://dbjh.tistory.com/71