본문 바로가기

전체 글274

DSR(Direct Server Return)-L2DSR, L3DSR 정리 게임회사의 경우 하나의 세션을 연결하고 이를 장시간 유지하면서 플레이하는 유형의 패킷이 많다. 하지만 요즘 웹 사이트를 통한 비즈니스가 많아지면서, 네트워크 트래픽 부하를 줄이기 위한 여러가지 연구가 있는데, 그중 가장 유명하고 인상적인 Direct Server Return(이하 DSR)에 대해 정리해 보겠다. DSR이란 DSR은 네트워크 구성에 있어서, 로드 밸런서에 착신한 클라이언트의 리퀘스트 패킷을 리스폰스는 로드 밸런서를 경유하지 않고 직접(Direct)에 클라이언트에 돌려주는 방식을 의미한다. DSR은 F5개열의 BIG-IP에서는 nPath라우팅이라 불리는 기술에 해당한다. 트래픽 플로우는 다음과 같다. 가는 패킷:클라이언트 ⇒ 로드 밸런서 ⇒ 리얼 서버 돌아오는 패킷:리얼 서버 ⇒ 클라이언트 .. 2021. 8. 12.
Logstash - Debugging mode Logstash의 문제가 발생하였을때 문제점이 바로 보이지 않는 경우, 디버깅 로그를 활성화 하여 오류 부분을 쉽게 잡아 낼 수 있다. 설정 방법은 logstash를 서비스가 아닌 일반 process 방식으로 실행하는데 로드할 conf 파일의 위치를 지정해 주면 콘솔에서 쉽게 로그 확인이 가능하다. /usr/share/logstash/bin/logstash --debug -f /etc/logstash/logstash.conf --path.settings /etc/logstash 2021. 8. 11.
VSCode - Pylint로 코드 퀄리티 높이기 https://code.visualstudio.com/docs/python/linting Linting Python in Visual Studio Code Linting Python in Visual Studio Code code.visualstudio.com 이전 글에서 에러 해결과 함께 정리해보았는데, 여기서 조금 Lint 부분만 정리해 본다. 우선 python 용 Linting 기능을 담당하는 pylint를 설치하자. pip3 install pylint 이후에는 Language Server를 Jedi로 설정할 것을 추천한다. 아래 설정 화면은 VSCode의 플러그인 메뉴에서 Python의 톱니 바퀴를 선택하여 환경설정을 선택할 수 있다. 그리고 아래와 같이 Jedi를 선택하자. 이렇게 구성한 이후 .. 2021. 8. 11.
VSCode Error - Sorry, something went wrong activating IntelliCode support for Python. Please check the "Python" and "VS IntelliCode" output windows for details. 한동안 Python을 VS Code로 쓰면서 크게 의식하고 있지 않았는데, 오늘은 왠지 모르게 위 오류가 정말 거슬리는 하루 였다. 그래서 한번 위 오류를 해결한 내용을 정리해 본다. 위 오류가 발생하는 원인은 크게 2가지로 고민해 볼 수 있다. 첫째 - Visual Studio IntelliCode 플러그인의 문제 둘째 - Visual Studio Code의 Linting 의 문제 아마 첫번째 플러그인의 문제라면 버전을 바꿔서 설치해보는것이 가장 기본적인 액션 플랜이다. 이후에는 settings.json의 Python 설정을 찾아서 변경해보는 것이 좋다. 위 방식으로도 해결이 되지 않는다면, 두번째 문제에 대한 해결 방안인 Linting을 다시 설치해 보는것이 좋다. 2021. 7. 26.
맥북 - 로그인시 프로그램 자동 실행 쉽게 추가하기 로그인시 자동으로 실행하는 프로그램은 시스템 환경 설정 -> 사용자 및 그룹 의 로그인 항목에서 추가할 수 있지만, 보다 편하게 추가할 수 있는 방법으로 마우수 우클릭을 통해서도 바로 자동 실행을 추가가 가능하다. 위 그림과 같이 Dock에서 마우스 오른쪽 버튼을 클릭하여 로그인 시 열기 를 선택하면 로그인 후 자동으로 해당 프로그램을 실행하게 된다. 2021. 7. 24.
Python - string 문자열 원하는 구분자 기준으로 나누기 오늘은 최근에 특정 문자열 갯수를 넘어가는 글에 대해서 조금 더 이쁘게 잘라 낼 수 있을까에 대한 고민하던 부분중에 개발을 진행한 부분에 대한 내용이다. 고민한 내용은 간단하다. \n 기준으로 문자열을 자르고 싶은데, \n을 기준으로 자르자니 너무 많이 문자열이 잘라지므로 이를 가장 알맞은 길이를 대입하여 자르고 싶었다. 그래서 생각한 규칙은 다음과 같다. 특정 길이 기반으로 문자열을 자른다. 만약 원하는 구분자가 해당 특정 길이 내에 있다면, 특정 길이를 안에 있는 구분자를 이용하여 자른다. 원하는 구분자가 특정 길이에 여러개 있다면 최대한의 크기를 유지 할 수 있었으면 한다. 원하는 구분자가 없는 경우에는 최대 크기로 자른다. 조건은 위 4가지 인데 실제 코드를 작성해 보니 생각보다 고려해야 할 포인.. 2021. 6. 28.