Server 10

MSA란? 개념 이해하기 / MA와 MSA 장단점 비교 (+CORS 에러)

■ MA 란? 기존의 서버 형태는 Monolithic Architecture (MA) 개념에 가깝다.Monolithic 의 사전적 정의를 보자. '단단히 짜여 하나로 되어 있는' 응용 프로그램이 단일 코드베이스로 구성되는 아키텍처이다. 즉,  하나의 서비스의 장애가 다른 서비스로 전이되어 전체 시스템 장애로 이어질 수 있는 구조이다.   모든 기능이 하나의 애플리케이션으로 결합되어 배포되며,모듈들은 내부적으로 긴밀하게 결합되어 있는 것이 특징이다.이러면 단순한 개발 및 배포/관리가 가능하다는 장점이 있다.심지어 같은 메모리 공간에서 실행되므로 서비스 간 통신 오버헤드가 적어 cpu성능 면에서 좋을지도 모른다. 그러나 서비스가 커질 수록,=> 애플리케이션 전체를 확장해야 하므로 자원 낭비가 발생하고 의존성..

Server 2024.06.18

[Linux] 윈도우 서버와 우분투 파일 동기화 쉽게 하기(LSync,rsync 사용법)

scp를 이용해서 디렉토리를 주고 받는 방법이 가장 익숙하지만 변동이 많은 프로젝트를 이렇게 주고 받는 건 비효율적이라는 생각이 들어서 실시간 연동이 가능한 동기화 방법을 찾아봤다. 그래서 찾아보니 LSync를 많이 이용하는 것을 알게 되었다. ▶[리눅스] 우분투 서버에서 LSync 설정 1. LSync 설치: sudo apt-get update sudo apt-get install lsyncd 2. LSync 설정 파일 생성: LSync는 설정 파일을 통해 동작한다. /etc/lsyncd/lsyncd.conf.lua lsync 를 함께 설치해준다. 2. LSync 설정: RSync 클라이언트를 사용하여 윈도우 서버에서 원격 동기화를 수행하는 스크립트를 작성한다. Cygwin shell: C:\Delta..

Server/Linux 2024.02.18

[Google Cloud] DB연결과 배포 - 스프링과 GCP 연동하기 3탄

드디어 스프링 프로젝트 배포의 마지막 단계이다. 1탄에서 생성한 mySQL DB인스턴스를 기억할 것이다. ↓ 이전 글(1탄) [Google Cloud] 구글 클라우드 인스턴스 생성하기 - 스프링과 GCP 연동하기 1탄 구글 클라우드는 Google Cloud Platform (GCP) 라고도 불리우는 구글에서 운영하는 클라우드 서비스이다. 기존 컨테이너를 Google의 관리형 컨테이너 서비스로 이동하기 위한 도구이며 구글 검색과 유튜 hansjour.tistory.com ↓ 이전 글(2탄) [Google Cloud] 구글 클라우드 셋팅 및 접속 - 스프링과 GCP 연동하기 2탄 저번 시간에는 로컬 컴퓨터에서 MySQL용 Cloud SQL에 연결하기 위한 전초과정이었다면 본격적으로 스프링 프로젝트를 배포하기..

Server/클라우드 2024.02.18

[Google Cloud] 구글 클라우드 셋팅 및 접속 - 스프링과 GCP 연동하기 2탄

저번 시간에는 로컬 컴퓨터에서 MySQL용 Cloud SQL에 연결하기 위한 전초과정이었다면 본격적으로 스프링 프로젝트를 배포하기 위해 Google Cloud의 VM을 만들어보자. ↓ 이전 글 [Google Cloud] 구글 클라우드 인스턴스 생성하기 - 스프링과 GCP 연동하기 1탄 구글 클라우드는 Google Cloud Platform (GCP) 라고도 불리우는 구글에서 운영하는 클라우드 서비스이다. 기존 컨테이너를 Google의 관리형 컨테이너 서비스로 이동하기 위한 도구이며 구글 검색과 유튜 hansjour.tistory.com Google Cloud 콘솔 - VM 만들기 1. VM 인스턴스 만들기 e2-micro로 일단 설정해두면 나중에 업그레이드가 가능하다. 부팅디스크-변경 위와 같이 설정하고..

Server/클라우드 2024.02.17

[Google Cloud] 구글 클라우드 인스턴스 생성하기 - 스프링과 GCP 연동하기 1탄

구글 클라우드는 Google Cloud Platform (GCP) 라고도 불리우는 구글에서 운영하는 클라우드 서비스이다. 기존 컨테이너를 Google의 관리형 컨테이너 서비스로 이동하기 위한 도구이며 구글 검색과 유튜브와 같은 서비스를 위해서 구글이 내부적으로 사용하는 클라우드 컴퓨팅 서비스이다. 해당 서비스들은 동일한 Infra 위에서 호스팅을 제공받는 형태라고 볼 수 있다. 클라우드는 aws만 경험해봤는데,구글에서 진행하는 GDSC에 참여하며 구글 클라우드 서비스를 무료로 이용할 수 있는 기회가 생겨서프로젝트의 서버를 GCP와 연동해보기로 했다! 참고로 infa를 논리적 형태로 제공하는 클라우드 기능은 동일하고GCP가 제공하는 서비스는 다음과 같다. 서비스명 내용 컴퓨팅 및 호스팅 (Computing..

Server/클라우드 2024.02.16

[Server] 사용자 인증 방식 종류 / 쿠키,세션,토큰 방식 / 각 특징과 차이점 (feat. JWT토큰)

우리는 보통 서비스에 접근할 때, 사용자 인증을 거친다. 사전에 허가받은 사용자일 수도 있고, 허가받지 않은 사용자일 수도 있다. 시스템의 보안을 위해 접근하는 이가 누군지, 확인하고 인증을 하는 과정을 거치는 것은 필수적이다. 클라이언트 인증을 위한 방식은 여러가지가 있다. 1. 사용자 인증 방식의 종류와 특징 쿠키(Cookie) -클라이언트의 웹 브라우저에 저장되는 작은 데이터 조각 -서버가 클라이언트에게 쿠키를 발급하면, 클라이언트는 이를 저장 -나중에 해당 서버에 요청을 보낼 때마다 쿠키를 함께 전송한다. ≫ 주로 세션 식별자 또는 사용자 설정과 같은 클라이언트 정보를 저장하는 데 사용한다. 웹 사이트에서 로그인하면 클라이언트에게 쿠키가 발급되어 로그인 세션을 유지하는 것을 예로 들 수 있음. 반..

Server 2024.02.08

[Linux] 리눅스 서버에 패스워드없이 접속하기 / rsa 암호키 방식 / ssh-keygen

들어가기 전, 필자는 이 게시글을 작성하기 위해 며칠을 삽질을 했다.. 혹시 리눅스 서버를 구성할 때 VMWare를 사용해서 구성한 사람이라면 글의 마지막 쯤을 먼저 읽기를 추천한다. 지난 번 윈도우의 커맨드 환경에서 리눅스 서버에 접속하는 방법으로 SSH 프로토콜을 소개했는데, 접속할 때마다 패스워드를 입력해야 하는 번거로움이 있었다. 또 보안에 취약하고 주기적 변경해야 하는 단점이 있다. ssh-keygen은 SSH 접속을 위한 인증 키를 생성, 관리 및 변환한다. 공개 및 개인 키 쌍을 생성하는 형태로, 쉽게 말해 생성하고 서버에 넘겨주면 서버와 클라이언트가 공유하는 한 쌍의 보안키로 이후 원격 시스템에 안전하고 편리하게 로그인하고 인증할 수 있다는 것이다. 우선, 방법은 간단하다. 커맨드 창에서 ..

Server/Linux 2024.02.03

[Linux] 리눅스에서 윈도우로 파일 전송하기 / 리눅스 scp 명령어 사용법

scp란? Secure Copy Protocol의 약자로, 원격 시스템 간에 파일 및 디렉토리를 안전하게 복사하는 데 사용. 보통 SSH(Secure Shell) 프로토콜을 사용하여 데이터를 전송하므로 데이터 전송이 암호화된다. ssh와 동일한 22번 포트를 사용하므로 password/identity file을 이용해 안전하게 송수신 할 수 있다. 쉽게 말해 다른 OS끼리 파일을 주고 받을 수 있는 명령어다. 1) 로컬 시스템에서 원격 서버로 scp 파일.txt 사용자명@원격서버주소:원격경로/ 2) 원격 서버에서 로컬 시스템으로 scp 사용자명@원격서버주소:원격경로/파일.txt . 3) 원격에서 원격으로 scp [유저명]@[IP주소]:[전송할 파일 경로] [유저명]@[IP주소]:[받을 경로] 복수의 파일..

Server/Linux 2024.01.31

[Linux] 윈도우에서 리눅스 접속하기 / ssh 사용법

프로젝트를 새로 진행하면서 리눅스 환경에 접속할 일이 많아질 것 같아 무거운 가상머신을 이용해 접속하는 방법 대신에 다른 방법을 찾기로 했다. (무거운 서버는 집에서 노는 노트북에 돌리기) 다른 서버에 접속하기 위한 방법으로는 telnet과 ssh 프로토콜이 있는데 보안 접속을 위해 ssh를 이용하자. ▷SSH란? ssh는 Secure Shell의 준말 -네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행, 파일을 복사할 수 있도록 해주는 응용 프로그램이나 프로토콜을 가리킨다. -해당 기능은 클라이언트-서버 모델로 동작한다. client에는 ssh 클라이언트가, server에는 ssh 서버가 설치되어 있어야 한다. ▷ OpenSSH란? -윈도우에서 ssh를 사용할 수 있게 하는 appl..

Server/Linux 2024.01.28

[Linux] 리눅스 yum install 시 failovermethod 오류

CentOS8 환경에서 yum install을 진행하려는데 다음과 같은 오류가 떴다. *failovermethod 해결법 sudo sed -i '/^failovermethod=/d' /etc/yum.repos.d/*.repo 입력하니 이런 오류가 뜬다. 찾아보니 CentOS8의 패키지관리 명령어는 dnf인데 yum과 100% 호환된다고 한다. 즉, yum 대신 dnf를 사용하면 된다는 뜻. 혹시나 하고 sudo dnf install --allowerasing 패키지명 으로 실행하니 바로 설치가 되었다. dnf는 종속성 해결을 위해 기존 설치된 패키지를 삭제하고 종속성이 해결된 패키지를 설치한다. 또한 제거할 패키지가 명시적으로 정의되지 않은 yum swap 명령의 대안으로 사용할 수 있다. 참고하면 좋을..

Server/Linux 2024.01.28