본문 바로가기
728x90

전체 글78

4.MySQL 아키텍처 - 4.1 MySQL 엔진 아키텍처(1) MySQL 서버는 사람의 머리 역할을 담당하는 MySQL 엔진과 손발 역할을 담당하는 스토리지 엔진으로 구분할 수 있다. MySQL 엔진 클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이루고 있다. 또한 표준 SQL(ANSI SQL)문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS와 호환되어 실행될 수 있다. MySQL 스토리지 엔진 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 부분을 담당한다. MySQL 서버는 하나지만 스토리지 엔진은 여러개를 동시에 사용할 수 있다. 테이블 생성시 스토리지를 지정하면 테이블에 모든 작업은 정해진 스토리지 엔진이 처리하게 된.. 2022. 11. 22.
REST API REST(Representational State Transfer)의 정의 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미. 즉, 자원의 표현에 의한 상태 전달. 자원이란 해당 소프트웨어가 관리하는 정보를 말하며 그 자원을 표현하기 위한 이름. 예를 들어 DB에 회원 정보가 자원일 때 자원의 이름을 members로 표현. 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐이다. REST의 개념 HTTP URI를 통해 자원(Resource)을 명시하고 HTTP Method(GET, PUT, DELETE, POST, PATCH)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 즉 자원 .. 2022. 11. 21.
HTTP 백엔드 개발자로 성장하기 위해서 가장 기본적인 네트워크 기술 중 하나인 HTTP를 너무 간과하고 있는 느낌이 나서 HTTP에대해서 공부한 내용을 정리하려 한다. HTTP란? HyperText Transfer Protocol의 약자로 하이퍼텍스트 전송 프로토콜이다. 초기에는 HTML과 같은 하이퍼미디어 문서를 주로 전송했지만 최근에는 Json, XML (Json을 주로 많이 사용), 이미지, 음성, 영상 파일 등 다양한 형태의 정보도 전송이 가능하다. HTTP의 특징 1. 클라이언트 서버 구조 2. 무상태 프로토콜(Stateless) 3. 비연결성(Connetionless) 4. HTTP Message (본문에서 다루지 않음) 5. 단순함, 확장 가능 1. 클라이언트 서버 구조 Request와 Respon.. 2022. 11. 21.
GitHub Webhook을 이용한 jenkins 빌드 유발(자동화 배포) 전 포스트에서 젠킨스에서 수동으로 빌드하여 Spring boot EC2 서버에 배포까지 하는것을 해보았다. 이번 시간에는 github master branch에 merge가 되는 순간 jenkins에 webhook을 전달하여 빌드 유발을 해보겠다. 여기서 webhook이란 특정 이벤트 트리거가 발생하면 jenkins server(jenkins 뿐만 아니라 여러 CI tool에서 사용 가능)에 이벤트를 전달하는 기능을 말한다. Dashboard -> Jenkins 관리 -> 플러그인 관리 -> Available plugins에서 Github Integration을 설치 후 젠킨스를 재실행한다. 그 후 깃허브 레포지토리 -> Settings -> Webhooks -> Add webhook을 눌러 webhoo.. 2022. 11. 7.
jenkins EC2 서버와 외부 EC2 서버 연결 EC2 프리티어를 사용시 메모리 부족으로 Spring boot 배포 서버로 사용하고 있는 EC2에 jenkins를 설치하여 같이 쓸 수 없는 상황이었다. 그래서 jenkins 전용 EC2 프리티어 서버를 하나더 생성 후 jenkins EC2 -> Spring boot EC2를 연결하는 작업을 해줘야만 했다. Spring boot EC2 서버에 접근하기 위해서 SSH 키 하나를 더 생성해야 한다. $ssh-keygen -t rsa -C "키명칭" -m PEM -P "" -f /var/lib/jenkins/.ssh/[키명칭] # jenkins EC2 서버에서 생성한 SSH publish key를 복사 후 $ sudo cat /var/lib/jenkins/.ssh/[키명칭].pub # Spring boot E.. 2022. 11. 6.
jenkins와 Github 연동 이번에는 전 포스트에 이어서 jenkins 설치 후 Github와 연동하는 방법을 알아보려 한다. jenkins에서 깃허브 프로젝트로 접근하기 위해서는 SSH키를 생성후 pub키를 등록해줘야 한다. # ec2에서 jenkins로 유저 변경 후 $sudo -u jenkins /bin/bash # SSH 키 생성 $sudo mkdir /var/lib/jenkins/.ssh $sudo ssh-keygen -t -rsa -f /var/lib/jenkis/.ssh/[키명칭] 키를 생성 후 .pub으로 생성된 키를 열어서 복사 $cat /var/lib/jenkins/.ssh/[키명칭].pub 복사 후 깃허브 프로젝트 레포지토리 -> Settings -> Deploy Keys -> Add deploy key 에 가서.. 2022. 11. 6.
728x90