본문 바로가기

전체 글

(24)
MSA (MicroService Architecture) Monolithic Architecture : MSA가 도입되기 전의 전통적인 개발 방식 장점 - 전체 애플리케이션이 같은 틀 안에서 개발됐기 때문에, 배포 및 테스트도 하나의 애플리케이션만 수행하면 된다. 따라서 개발 및 환경 설정이 간단하다. - 각 컴포넌트들이 함수로 호출 되기 때문에 성능 제약이 덜하고, 운영 관리가 용이하다. - 서비스간의 호출이 하나의 프로세스 내에서 이뤄지기 때문에 속도가 빠르다. 단점 - 빌드/테스트 시간이 길어진다. - 선택적 확장이 불가능하다. - 하나의 서비스가 모든 서비스에 영향을 준다. MSA (MicroService Arichitecture) : 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법 - 각 컴포넌트는 서비스 형태로 구현되고..
[Linux & Windows] 가상머신을 이용한 서버 & 클라이언트 구축 공통 - Local PC: Windows 10 / Server PC: CentOS 6 / Client PC: Windows 10 - 가상머신 (Oracle VM VirtualBox)를 이용해 서버, 클라이언트로 이용할 각각의 호스트 생성 - 중요) 네트워크 설정시 "어댑터에 브리지" 선택 - 기지국 DNS를 통해 클라이언트, 서버가 통신하므로 DNS 서버 주소는 같고, IP 주소는 달라야함 - 가상머신으로 호스트 생성시 호스트명은 식별하기 쉽도록 "IP주소-프로젝트명-Server 또는 Client-개발('test' 또는 '운영')"으로 작성 - 가상 호스트에 네트워크 연결 - 소프트웨어 버전을 선택할 수 있는데, 그 중 최소설치 버전은 cmd / GNOME 데스크탑 버전은 GUI로 PC를 관리할 수 있다..
[에러 해결] Linux - tar (압축 해제) 허가 거부 * 편의상 계정명: test , 파일명: test.tar.gz , 파일은 /home/test/ 디렉토리에 저장돼있는 상태로 가정한다. (root 폴더는 home 폴더와 동일한 트리에 존재하는 상태) * test 계정 생성시 /home/test/ 디렉토리가 자동 생성되고, test 계정은 기본적으로 자기 디렉토리(/home/test/) 에 대한 권한을 모두 갖고 있다. (물론 관리자 계정인 root 권한으로 특정 계정 권한 변경 가능하다.) su -test: test 계정으로 계정 변경, 이때 현재 디렉토리는 /home/test/ 로 변경된다. su test(계정명 앞에 - 를 생략하는 경우): 이전 계정이 있었던 경로에 그대로 남으면서 로그인 계정만 변경 / 그래서 위 이미지의 경우 계정이 바꼈어도 ro..
리눅스 명령어: cat * cat : 파일 생성 & 파일 내용 표준 출력 파일 생성 $ cat > 파일명 // 빈 파일 생성 $ cat > 파일명 + 파일에 삽입할 내용 기재 + enter + Ctrl C // 파일 생성 후 데이터 삽입 파일 내용 출력 $ cat FILE (파일명) $ cat FILE1 FILE2 // 2개의 파일명 결과: 파일 내용 출력 * cat 명령 옵션 cat [OPTION]... [FILE]... OPTION -n : 모든 라인 앞에 라인 번호 출력. (빈 라인도 번호 출력) -b : 비어 있지 않은 라인에만 번호 출력. -E : 라인의 마지막에 $ 기호 출력. (빈 라인도 $ 기호 출력) -T : 탭 문자를 ^I로 바꿔서 출력. -s : 두 번 이상 연속된 빈 라인(empty line) 출력 안함...
리눅스 명령어: 자주 사용되는 명령어 su $ su - // root 계정으로 변경 $ su - test // test 계정으로 변경 (계정이 변경되면 그 계정의 홈 디렉터리로 위치가 변경된다.) $ su test // test 계정은 변경하나 디렉토리는 변경 전과 동일하게 남긴다. cd : change directory $ cd .. // 상위 디렉토리로 이동 $ cd ~ // home 디렉토리로 이동 $ cd users // users 디렉토리로 이동 ls : list / 현재 디렉토리의 목록 조회 $ ls -l // 디렉토리 내의 파일 조회 $ ls -al // 숨김파일까지 모두 조회 mv : move / 파일 위치 이동 $ mv abc.txt test // abc.txt 파일을 test 폴더로 이동 cp : copy / 파일 복사 $..
Session & Cookie - 세션 동작 원리 - 세션 트래킹 모드: 서버가 클라이언트 ID를 어떤 방법으로 추적할 것인지 정의한 것. 쿠키 사용 모드, URL Rewriting 모드, SSL 모드 등이 있다. 그 중 쿠키 사용 모드가 디폴트이자 권장 사항이다. * 정의 - Session : 일정 시간 동안 같은 사용자(클라이언트, 브라우저)로부터 요청 받는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술 cf) 세션의 단위(상기 일정 시간): 사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하고 서버와의 연결을 끝내는 시점. 즉, 웹 서버에 접속해있는 상태 - Cookie : 특정 웹 사이트를 방문했을 때 만들어지는 정보를 담는 파일. 사용자의 상태 정보를 유지하는 기술 * 차이점 - Session..
리눅스 명령어: find, grep, awk find find: root 경로의 모든 파일, 링크, 소켓, FIFO, 디렉터리 등 모든 것을 출력 (f : 파일 / d : 디렉터리) $ find -name "STR*" // 파일명이 특정 문자열로 시작하는 파일 검색 $ find -name "*STR*" // 파일명에 특정 문자열이 포함되는 파일 검색 $ find -name "*STR" // 파일명이 특정 문자열로 끝나는 파일 검색 $ find -name "T*" // 파일명이 T로 시작하는 파일 검색 * root 경로에서 "파일"만 출력 $ find / -type f * root 경로의 "파일" 중 size 가 5M 이상이고 권한이 644인 것만 출력 $ find / -type f -size +5M -perm 644 cf) (권한인) 644 앞에 ..
CentOS 란? cf) 운영체제 - 컴퓨터 하드웨어 자원 및 프로세스를 관리하는 소프트웨어로 - 서버 하드웨어를 사용하기 위해 반드시 설치해야하는 소프트웨어 * 리눅스(Linux) 란? - 컴퓨터 운영체제 중 하나로, 유닉스 (Unix) 운영체제를 기반으로 만들어졌다. - 다중 사용자, 다중 작업(Multi-Tasking), 다중 스레드(Multi-Thread)를 지원한다. - 서버를 작동하는데 최적화되어있다. * 리눅스(Linux)의 특징 - 유닉스와 완벽하게 호환 가능하다. - 오픈 소스로 공개된 운영체제로 GPL 라이선스 정책 하에 누구나 자유롭게 내려받아 사용하고 소스코드를 수정, 재배포가 가능하다. - PC용 OS보다 안정적이며, 보안 면에서도 PC용 OS보다 비교적 우수한 성능을 가졌다. - 레드햇 계열 / ..