본문 바로가기
반응형

컴퓨터/네트워크11

[네트워크] 세션 클러스터링 | 이중화 시 서버들이 사용자를 기억하는 방법 🌟 세션 클러스터링 (Session Clustering)로그인한 사용자 정보(세션)를 여러 서버가 같이 기억하는 방법왜 여러 서버가 같이 기억해야 되냐면 → 서버가 여러 대니까. → 어떤 서버에 연결돼도 "나 로그인했어" 상태가 유지돼야 하니까 🛠️ 방법은 두 가지1. 톰캣 설정으로 세션 클러스터링2. 토큰 기반 세션 유지 (JWT 같은 거) 1. 톰캣 설정으로 세션 클러스터링서버끼리 세션 내용을 실시간으로 동기화하는 방식 톰캣 같은 웹 서버(WAS)들이 서로 세션 정보를 주고받는다.그래서 서버 A에서 로그인했어도, 서버 B로 요청이 가도 로그인 상태를 알게된다.이걸 하려면 톰캣에 Cluster 설정을 해야 한다. (ex: server.xml 파일에 태그 추가) 장점기존 세션 로직 거의 안 .. 2025. 5. 3.
[네트워크] 이중화(HA) 및 세션 관리 | 끊기지 않고 돌아가는 프로그램을 위한 기술 🔥 이중화(HA, High Availability)"서버가 죽어도 서비스는 끊기지 않게 만드는 것" 우리가 서비스하는 사이트가 있는데, 서버가 하나밖에 없으면?서버 고장나면 사이트도 그냥 🧨펑🧨 망가짐. 그래서 서버를 두 개 이상 띄워놓고:하나가 죽으면 다른 서버가 바로 대신 일하는 구조를 만들어 놓는 것.고객은 아무것도 모르게 계속 서비스를 쓸 수 있어야 한다. 🛠️ 기술적으로는 이렇게로드밸런서 (트래픽 분배기) 앞에 두고서버(A) 서버(B) 서버(C) 여러 대를 동시에 돌림.A 서버가 죽으면 → B나 C가 대신 응답함.그리고 세션이나 데이터도 서버끼리 공유하거나 복제해서,끊기지 않고 이어지게 만들어야 한다. 🌟 이중화 안 하면서버 한 대가 죽으면로그인했던 사람 → 튕김결제 중.. 2025. 5. 2.
[네트워크] 시스템 부하와 세션, 쿼리와의 관계 | 시스템 속도가 느린 이유는 무엇일까 전체 시스템 부하는 세션 + 쿼리 관리 이슈와 연결된다.시스템이 느려지거나 먹통되는 이유는 보통, 세션이 쌓이거나 쿼리가 느리게 동작하기 때문이다.→ 세션이 메모리를 먹고, 쿼리가 CPU를 잠근다. 📌 세션 관리가 시스템 부하에 미치는 영향 세션 = 사용자 수 만큼 생기는 저장소사용자 1명 접속 → 서버 메모리에 세션 1개사용자 1000명 접속 → 세션 1000개사용자 10만 명 접속 → 서버 메모리에 10만 개 쌓임 😵 문제는세션을 계속 들고 있으니까, 메모리 누수처럼 점점 RAM을 먹는다.심하면 서버가 OOM (Out Of Memory) 으로 죽어버린다.HttpSession session = request.getSession();// 여기에 무거운 객체 넣으면 메모리 펑session.s.. 2025. 4. 30.
[리눅스] centos 7,8,9 mariadb 설치하기 | 연결테스트 설치할때마다 까먹어서 내가보려고 적음 아니 근데 centos8 나온지가 언젠데 벌써 지원 종료되면 어떡함centos 9로 다시 설치해야되잫아ㅠ  yum install mariadb 명령어로 설치하면mariadb server 가 없어서 start 오류가 남[root@proworks etc]# systemctl start mariadbFailed to start mariadb.service: Unit mariadb.service not found.이런 오류    그래서 밑의 명령어로 설치해야됨yum install mariadb-server mariady 눌러서 진행해준다.  설치 완료되면 start 해준다systemctl start mariadbps -ef | grep mariadb  잘 떠있으면 실행ㄱ  .. 2024. 10. 8.
[리눅스] 가상 OS-웹 개발💻5a-1 | VirtualBox 6 + CentOS 8 | linux _webtob 설치 후 서버 기동(1) 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454Java 프로젝트 개발에 맞는 CentOS 설정https://gallery-k.tistory.com/455linux _외부/내부망 네트워크 설정https://gallery-k.tistory.com/457jdk 설치, JAVA_HOME 환경변수 잡기https://gallery-k.tistory.com/458    webtob, jeus 다운/라이선스 받기 webtob, jeus, tibero는 티맥스 소프트의 소프트웨어이다.설치 전 티맥스소프트 회원가입을 해야 한다.회원가입 후에는 다음 화면에서 다운로드 받아야 한다.https://www.tmaxsoft.com/kr/dow.. 2024. 5. 30.
[리눅스] linux _jdk 설치, JAVA_HOME 환경변수 잡기 shell 에 접속해서 root 로 로그인해준다.jdk 도 사실 사용자별로 만들어주는게 좋지만 보통은 JAVA_HOME 은 고정이기 때문에 root 에 설정해준다.    jdk 버전 확인   설치할 jdk 버전을 확인한다.yum list java*jdk-devel 이때 devel 은 JDK 이다.자바 개발을 해야 한다면 devel 붙은거로 받아주고 그냥 코드실행만 한다면 devel 없는 버전을 다운받아준다. 참고로 devel 없는 버전들까지 검색하면 이렇게 나온다.   JDK 설치다음 명령어를 이용해 원하는 jdk 를 설치해준다.yum install -y java-1.8.0-openjdk-devel다라라락 설치되는 모습  설치완료 후 버전 확인을 해주고 설치 경로를 확인한다. 설치경로를 확인하는 이유는 .. 2024. 5. 29.
[리눅스] 가상 OS-웹 개발💻3 | VirtualBox 6 + CentOS 8 | linux _외부/내부망 네트워크 설정 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454Java 프로젝트 개발에 맞는 CentOS 설정https://gallery-k.tistory.com/455   네트워크 초기 설정  금융권 개발은 보안이 중요하기 때문에 (금융권이 아니더라도 보안이 중요한 회사라면은)외부망/내부망 네트워크가 나눠져있다.내부망에서 개발을 진행하고, 개발이 완료된다면 외부망의 깃이나 타 서버와 연동해서 프로젝트 배포하는 식이다.   그래서 개발용 리눅스 서버에 외부망 네트워크, 내부망 네트워크를 각각 세팅해줘야 한다.NAT호스트 전용 어댑터외부 인터넷 연결용SSH 접속용 어댑터(내부)   세팅할 OS 를 우측클릭 후 설정 클릭(OS 이름 바.. 2024. 5. 28.
[리눅스] 가상 OS-웹 개발💻2 | VirtualBox 6 + CentOS 8 | CentOS 설치 및 기본 세팅_ Java 프로젝트 개발 환경에 맞게 이전글 목록CentOS Stream과 미러 사이트 의미, iso 파일 종류설명https://gallery-k.tistory.com/454      본격적으로 os 설치를 한다.   1. CentOS 8 설치  1. 새로 만들기를 눌러준다.    2. 원하는 가상머신 이름을 입력한 후, 종류는 Linux, 버전은 RedHat(64-bit) 를 선택해준다.  3. 적당한 메모리 크기를 설정 후 다음 버튼을 클릭한다. 램 크기 정하는건데 굳이 무거운 프로그램을 돌리지 않을거면 많이 안해도된다.걍 로컬 db 용으로 쓸거여서 2기가로 했는데 4기가정도도 괜찮을 듯 하다.추후에 늘릴 수 있으니 대충하고 넘겨도된다.    4. 하드 디스크 선택 창에서 '지금 새 가상 하드 디스크 만들기'를 클릭한다.   4-1. 가.. 2024. 4. 30.
[리눅스] 가상 OS-웹 개발💻1 | VirtualBox 6 + CentOS 8 | CentOS Stream과 미러 사이트 의미 정리 | iso 파일 종류 0. 사담가상 os 에서 웹 개발을 하게되어서 글을 써본다... 사실 가상머신 + os 설치는 인터넷에 정보가 많기도하고 나보다 훨씬 잘 정리해놓은 곳이 많아서굳이 내 블로그에 적을 이유가 있을까 싶었지만흔적 남기기 기록용으로 적는다.   다음과 같이 환경세팅을 할 예정이며, 글 1에서는 가상머신, 리눅스 os 를 구축할 것이다.설치파일설치 가능 목록가상머신Oracle VM VirtualBox (6.1.x)리눅스 os CentOS (8.x) RockySSH Clientputty Xshell MobaXtermFTP ClientFileZilaDB 관리툴dbeaver     1. VirtualBox 6설치Oracle VM VirtualBox는 한 컴퓨터에서 여러 OS를 동시에 실행할 수 있는 가상화 소프트웨어.. 2024. 4. 26.
[리눅스] 리눅스 기본 명령어 정리 기본 문법 ◽ 현재 있는 위치: pwd $ pwd Print Working Directory 의 줄임말 ◽ 폴더 이동: cd $ cd /폴더이름 change directory 의 줄임말 폴더명을 입력하지 않으면 상위 폴더로 이동한다. ◽ 경로에 있는 폴더 검색: ls $ ls list 의 줄임말 현재 위치한 폴더 안의 파일, 폴더 목록을 표시한다. 리눅스 최상위 경로에 있는 폴더 이름들이다. -a 모든 항목 표시 숨긴파일 포함 -d 폴더 정보 표시 정보만! -F 폴더 정보 표시 /(폴더). *(실행파일), =(소켓파일), @(링크) -l 폴더 정보 표시 항목 상세 정보들도 표시 -m 각 항목들을 쉼표로 구분 -r 항목들을 역순으로 표시 -R 하위 폴더 내용들도 표시 -s kb(키로바이트) 단위로 표시 -.. 2022. 3. 22.
[리눅스] 리눅스 우분투 윈도우10 에서 실행하기 (WSL) 1. 윈도우 파워쉘을 관리자 권한으로 실행 2. 실행한 파워쉘에 다음 명령어 복붙 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 3. 컴퓨터 재부팅 후 다시 PowerShell 을 관리자 권한으로 실행한다. 4. 실행한 파워쉘에 다음 명령어 복붙 wsl --set-default-version 2 5. 여기 링크로 들어가서 4단계로 이동! (바로 이동될듯ㅎㅎ) https://docs.microsoft.com/ko-kr/windows/.. 2022. 3. 20.
반응형