들어가며 Aws 에서 서버를 구성하고 네트워크 구축을 하다보면 로드밸런서 라는 단어를 빈번하게 들어볼 것이다 처음에는 그냥 부하 분산을 해주는 것 정도로만 알고 있었는데 뭔가 조금 더 궁금해졌다.그래서 책을 보며 정리를 해보았다. 로드밸런서서비스의 안정성이나 가용량을 높이기 위해 서비스를 이중화 할때 는 서비스 자체적으로 HA 클러스터를 구성하기도 한다 하지만 복잡한 고려 없이 이중화를 손쉽게 구현하도록 로드밸런서가 많이 사용된다로드 밸런서는 다양한 구성 방식과 동작 모드가 있으며 각 방식과 모드에 따라 서비스 흐름이나 패킷 내용이 달라진다 서비스에 따라 적용해야 하는 구성 방식과 동작 모드가 각각 다르고 고려해야 하는 지점도 다르다따라서 로드 밸런서의 구성과 동작 모드를 이해해야만 서비스에 필요한 구..
NGINX란?트래픽이 많은 웹사이트 서버인(WAS)를 도와주는 비동기 이벤트 기반구조의 경량화 웹 서버 프로그램이다. 클라이언트로부터 http 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, 또는 Reverse Proxy Server로 활용하여 WAS의 부하를 줄일 수 있는 로드밸런서 역할을 하기도 한다. 필자가 NGINX 를 사용하는 이유는 도메인 연결을 했을 때 뒤에 포트가 보이는 상황을 방지하고자서버 내부에 NGINX 를 사용하여 포트를 감추는 역할로 사용하였고 리버스 프록시를 사용하여 들어오는 요청을 매핑 해주는 역할로 사용하였다. 필자의 리눅스 서버는 Ubuntu20 버전이다. nginx 설치nginx 설치 전 apt 를 업데이트를 시킨다.$..
제가 실무에서 직접 사용하는 명령어를 정리해 보려고 합니다. 제 노트북이 mac 인데 mac 이 unix 기반의 운영체제 이기 때문에, 리눅스 명령어랑 비슷한게 많습니다. 그래서 겸사겸사 정리를 해보았습니다. 리눅스 명령어를 하다가 권한 관련 에러가 발생한다면 모든 명령어 앞에sudo 를 붙이면 해결이 됩니다.[ ex) 권한 에러 : ~ ~ ~ Permission denied ] -> $ sudo 명령어 위가 귀찮으시 다면 관리자 권한을 줘서 $ sudo su 를 치고, 서버 비밀번호를 입력하게 되면 부여 밭은 권한에 맞춰 매번 sudo 를 검색하는 수고를 덜 수가 있습니다. 하지만 모든게 관리자 권한이라, 위험한 작업을 할 때는 신중을 기울여야 합니다. ex) rm -rf... 위 방법이 싫다면 Us..
들어가며리눅스 우분투 환경에 Amazon corrent jdk를 설치해보겠습니다. jdk 설치하기에 앞서 일단 본인이 사용할 PC에 리눅스 우분투를 설치해놔야 합니다. 설치하는 방법은 아래 링크에서 단계별로 하면 설치를 할 수 있습니다. https://www.linuxtechi.com/install-ubuntu-server-22-04-step-by-step/ How to Install Ubuntu Server 22.04 LTS Step by StepTutorial on how to install Ubuntu Server 22.04 LTS (Jammy Jellyfish) step by step with screenshots. Ubuntu Server is used for enterprise-class-de..
안녕하세요오늘은 스프링 프레임워크에서 세션 및 쿠키를 다루는 방법에 대하여 알아보겠습니다. 세션과 쿠키는 클라이언트와 서버의 연결을 유지하는 방법입니다 우리가 사용하는 웹 브라우저에 서비스는 HTTP 프로토콜을 기반으로 통신을 합니다.그리고 그 HTTP 프로토콜은 클라이언트와 서버의 관계를 유지 하지 않는 특징이 있습니다. 그 대표적인 특징 2가지가무상태성 (Stateless)비연결성(Connctionless) 위 사진을 보면 한번 요청이오고 그 요청에 응답이 오면 바로 연결을 끊는다.만약에 그러면 로그인을 하는 상황이라면 어떨까요?로그인을 해서 여러 기능을 이용해야 하면은, API요청을 할 때마다 로그인을 해야할까요? 만약 실제로 그렇다면은...... 엄청나게 귀찮을 겁니다.매번 요청하고 연결이 끊기..
안녕하세요오늘은 주소창에 www.naver.com을 검색하면 일어나는 일에 대해서 알아보겠습니다. 평소에 모든 사람들이 웹서핑을 하든, 검색을 하든url창에다가 인터넷 주소를 검색하는 일이 자주 있을 것입니다. 요즘은 또 기술이 좋아져서 캐시를 이용하여, 내가 쳤던 url주소들을 컴퓨터가 기억하고 있어,naver에 nav 망쳐도 바로 아래 검색목록에 뜨는 경우를 많이 접할 것입니다. 그리고 본인이 웹 개발자라면은 내가 만든 웹 사이트를 사람들에게 보여줘야 할 것입니다. 그 과정에서 개발 ~ 배포까지 다양한 과정이 존재합니다만원초적으로, 내가 코드를 짜고, 테스트를 하고 배포를 한 후에, 배포를 한 사이트를 사람들이 url주소 검색하면은,어떻게 그 사이트로 들어가지게 되는 걸까?라는 고민을 해본 적이 있나..
안녕하세요🖐 오늘은 평소에 궁금했던 내용인 내가 Inellij에서 로직을 작성하면 컴퓨터가 어떻게 이해를 하고 실행이 되는지 항상궁금했습니다. 그래서 본격적으로 공부를 해보고 제가 공부를 하고 이해한 내용을 포스팅 해보고자 합니다. 프로그래밍을 시작한지 8개월정도가 되었지만, 이 부분을 이해하지 못하고 공부를 한게 조금은 창피하지만, 이번 기회에 제대로 공부를 했으니, 다시는 까먹지 않을 것 같습니다...🤣 소스코드와 명령어 💡 개발자가 프로그래밍 언어로 작성한 소스 코드가 컴퓨터 내부에서 명령어가 되고 실행되는 과정을 학습합니다. 명령어는 컴퓨터를 실질적으로 작동시키는 매우 중요한 정보 입니다. 여기서 질문🖐우리가 Java같은 프로그램을 실행시키는 Intellj, eclipse에서 프로그램..
안녕하세요 혼자 공부하는 컴퓨터 구조+운영체제 책을 공부하면서 정리한 개념을 포스팅 해보겠습니다. 저는 Java + Spring 기반의 백엔드 개발자 지망생으로 현재 여러 프로젝트를 하며 CS의 중요성을 뒤늦게 깨닫게 되어 열심히 공부를 하고 있습니다. 개발을 진행하며 제 코드가 CS까지 고려하고 생각하는 수준에 도달할 때 까지 열심히 공부하겠습니다. 1) CS를 알아야하는 이유 ❓ 개발자들은 코드만 잘짜면 되는거 아닌가요 ❓ 라는 생각을 저도 개발을 시작한지 얼마 안되었을 때 하였습니다. 코드를 잘짜고, 기능 구현만 잘하면 끝이 아닌가 라는 생각을 하였습니다. 그러나 프로젝트를 진행하고, 성능(=속도) 와 관련된 장애? 아닌 속도 느림을 겪고 그 문제를 해결하기 위해 노력을 한 경험이 있었습니다. 그 ..