HAProxy로 DB 서버 부하분산준비haproxy 서버 1대 (haproxy 설치)DB 서버 2대 (mariadb 설치, user 생성 후 권한 부여)haproxy 서버vi /etc/haproxy/haproxy.cfg 맨 밑줄에 다음 내용 추가 DB 서버이기 때문에 포트 번호는 3306번으로 하고, server에는 만들어둔 DB 서버 두 개의 IP 주소를 추가한다.listen stats bind *:9000 mode http option dontlog-normal stats enable stats realm Haproxy\ Statistics stats uri /statslisten mariadb bind :3306 mode tcp balance..
cs
재해 복구 (DR)Mirror Site (미러 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하고 Active 상태로 실시간 동시 서비스를 제공하는 방식 Hot Site (핫 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하여 Stand-by 상태로 유지하며 재난 발생 시 Active 상태로 전환하여 서비스 제공 Warn Site (웜 사이트): 데이터만 원격지에 보관하고 서비스를 위한 시스템은 확보하지 않거나 최소한으로만 구성하고 재난 발생 시에 필요한 시스템을 구성하여 복구 Cold Site (콜드 사이트): 최소한의 준비만 해두는 것 기존 데이터를 양쪽과 똑같이 설정 (백업, 복구)DB 데이터 백업mysqldump -u root -p --all-databas..
TCP 프로토콜인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간 통신을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다.중요한 데이터를 안전하게 주고 받을 때 사용한다.UDP 보다 느리다.날아가면 안 되는 데이터를 통신할 때 사용 (ID, PW 등) TCP 플래그: 보낼 때 양식 종류Ack와 Syn이 제일 중요함 !U : Urgent - 긴급 bitA : Acknowledgment - 승인 bitP : Push - 밀어넣기 bitR : Reset - 초기화 bitS : Syn - 동기화 bitF : Fin - 종료 bitUDP 프로토콜일반적으로 오류의 검사와 수정이 필요 없는 프로그램에서 수행할 것을 가정으로 한다.전송 방식이 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나 중복되..
sql 연습을 위한 sample 데이터 준비1. 리눅스 컴퓨터에서 파일 받아온 후 ls로 파일이 잘 받아와졌는지 확인wget [SQL 파일 링크] 2. sql 파일에 있는 것들을 한 번에 실행mariadb -u root -p 3. 테이블 있나 확인 후 권한 부여mariadb -u root -pshow databases;GRANT ALL PRIVILEGES ON [DB 이름].* TO '[사용자 이름]'@'%';FLUSH PRIVILEGE; 4. 윈도우 MySQL Workbench에서 들어온 거 확인classicmodels 디비와 테이블들이 잘 들어와있는 것을 확인할 수 있다. MySQL Workbench - SQL 실습실습하기 전 어떤 데이터베이스를 쓸 것인지 선택해야 한다. 여기서 내가 쓰고 싶은..
DBMSDBMS란?: 모든 프로그램들이 데이터베이스를 공유할 수 있도록 관리해주는 소프트웨어응용 프로그램과 데이터베이스의 중재자응용 프로그램과 데이터 간에 상호 의존 관계 문제를 해결DBMS 필수 기능어떤 DB 서버 프로그램을 쓰던지 이 기능은 무조건 있다. 1. 정의 (DDL)데이터의 형태, 구조, 데이터를 저장하는 것에 관한 내용CREATE, ALT, DROP2. 조작 (DML)데이터를 조작(검색, 갱신, 삽입, 삭제)SELECT, INSERT, DELETE, UPDATE3. 제어 (DCL)데이터의 정확성과 안전성을 유지하는 기능GRANT, REVOKE 스키마DB의 구조에 대한 정의 및 제약 조건 등을 기술한 것서버 프로그램마다 다를 수 있다형식, 구조를 갖춰서 저장한다. DB 설계 과정요구 분석 -..
데이터베이스데이터란?: 현실의 무언가로부터 측정한 값. 어떻게 가공하느냐에 따라 달라질 수 있다. 데이터베이스란?: 데이터를 표 형태로 저장한 파일운영체제의 파일 시스템은 하드 디스크의 특정 주소에 어떤 데이터를 저장헀는지 관리해주는 것이다.=> 데이터베이스도 저장되는 '파일'이기 때문에, 하드디스크에 저장되어 있는 파일이다. 데이터베이스의 특징1. 자료 추상복잡한 자료를 쉽게 사용할 수 있다.개념화, 사물의 공통 성질을 추출한다.2. 자료 독립자료와 프로그램의 독립성을 유지한다.파일과 파일을 이용하려는 프로그램 사이에는 어떠한 연관성도 없다.한글 파일을 열려면 한컴 오피스를 깔아야 한다. => 종속되어 있음.DB는 종속되어 있지 않다.어떤 클라이언트든 DB 파일을 볼 수 있다.데이터가 변경되어도 프로그..
객체 지향이란?: 현실 세계의 무언가를 컴퓨터 세계로 옮겨 만든 것 (= 객체)현실 세계의 무언가를 개발에 사용할 수 있도록 정형화추상화 = 정형화 = 공통사항 객체는 속성과 기능으로 이루어져 있다. 객체 설계 단계현실 세계 -> 요구사항 분석 -> 객체 식별 -> 객체 간의 관계 정의 -> UML 다이어그램 -> 메모리 객체지향 프로그래밍 특징1. 추상화불필요한 세부사항은 제거하고 공통적인 부분들만 추출하여 표현하는 것 2. 캡슐화서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것캡슐화를 하는 이유데이터 보호 (외부로부터 클래스에 정의된 속성과 기능들을 보호)데이터 은닉 (내부의 동작을 감추고 외부에는 필요한 부분만 노출)더보기자바에서 캡슐화를 구현하기 위한 방법 1..
형상 관리란?: 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것 계획 -> 분석 -> 설계 -> 구현 -> 시험 -> 유지보수1. 계획타당성 분석경제적, 기술적, 법적프로젝트 계획서 작성프로젝트 범위, 자원 점검(HW 사양, OS 버전, 사용할 SW), 인원, 예산, 일정 등팀 구성민주적(=분산형), 중앙집중형, 혼합형, 계층개발 비용 산정프로젝트 스케줄링소작업 분해 -> WBS (마인드맵) -> CPM (가장 안 좋은 케이스 찾기) -> 최소 비용 산정 -> CPM 수정 -> 간트 차트 2. 분석요구사항 분석 3. 설계아키텍처 설계인프라 : 시스템 아키텍처프론트엔드 : UI/UX 설계도, SW 아키텍처백엔드 : API 명세서, ERD, SW 아키텍처 4. 구현 5. 시험TDD 6. 유지보수개발이..
더보기현재 내 IP 주소 설정 상태 웹 서버 : 10.10.10.10WAS 서버 : 10.10.10.40DB 서버 : 10.10.10.30 MariaDBDB 이름 : 3tier유저 이름 : psy비밀번호 : qwer1234DB 서버MariaDB 설치1. 관리자 로그인sudo su - root 2. IP 설정 및 적용vi /etc/netplan/00-installer-config.yaml 3. 레포지토리 목록 갱신apt update 4. MariaDB 설치apt install -y mariadb-server 5. MariaDB 설정vi /etc/mysql/mariadb.conf.d/50-server.cnf 27번 라인에 있는 바인드 주소 설정을 다음처럼 변경bind-address = 0.0.0.0💡 바인..
시스템 아키텍처아키텍처 : 서버들을 어떻게 구성하고 서버들 간의 관계를 설명하는 설계도 3계층 아키텍처 (3 tier 아키텍처)웹 서버 (프론트엔드)웹 서비스를 제공하는 프로그램서버 컴퓨터에 저장된 파일을 클라이언트가 다운로드할 수 있게 해준다.웹 서버에 있던 코드는 웹 서버에서 실행되지 않고, 그냥 웹으로 보내기만 함웹 어플리케이션 서버 (WAS, 백엔드)웹으로 동작하긴 하는데(http 프로토콜을 사용하는데), 어플리케이션 서버다.서버 컴퓨터에 저장된 파일을 클라이언트가 요청하면 파일을 실행하고 실행된 결과만 보내준다.DB 서버 웹 클라이언트(웹 브라우저)URL을 이용해서 서버에게 특정 파일을 달라고 요청하고 서버로부터 받은 파일을 화면에 보여준다. 프론트와 백을 나누는 기준: 누구의 컴퓨터에서 코드..