다중화(이중화) : 시스템에 장애가 발생해도 서비스를 계속 유지할 수 있도록 (같은 시스템을 가진) 예비장치 여러개를 준비해 두는 것, 시스템 부하 분산 및 성능 향상을 위해 같은 환경을 가진 여러 장치는 연결해 큰 시스템을 만드는 것. 데이터베이스 확장성을 위한 방법 1. Clustering(군집 분류, 뭉치기) - 가용성을 높이기위한 but storage부족 2. Replication(복제) - 부하분산, 백업 및 복구 기능 3. Sharding(조각내기) - 데이터가 너무 많아 slave를 늘리는 것으로는 성능이 좋아지지 않을때. But 읽기 퍼포먼스가 문제라면 캐싱도 좋은 방법이다. https://yjna2316.github.io/database/2020/12/12/DB-archi-%EB%8B%A..
❗ 위플레이 정의 연인, 친구들과 함께 즐길 컨텐츠 및 장소 정보를 제공하는 웹어플리케이션. 📜 요구사항 분석 1) 지역별 놀거리, 즐길거리, 볼거리, 먹을거리를 찾아 추천하는 기능 2) 가게와 제휴를 맺어 예약, 할인, 결제 기능 3) 리뷰 제도 도입 4) 장소별 데이트 코스 추천 화면 설계서 (기능명세서) - Oven ERD( 개체관계모델) - draw.io WBS (Work Breakdown Structure) - 개발 일정 관리 문서 환경설정 개발환경---- - 언어 JAVA - 프레임워크 - Spring Boot - 로깅 및 로그 문서 관리 logback(slf4j) , 유닛테스트 및 통합테스트(JUnit) - 객체 관계 맵핑ORM - JPA(Hibernate)->객체를 통해 간접적으로 데이터베..
로컬에서 개발할 때는 코드를 변경하고 재실행하며 개발이 가능했다. 그리고 이미지, 동영상 등 정적파일 관리에 대한 큰 고민이 없었다. 그냥 내 컴퓨터에 파일을 저장하면 되니까! 하지만 직접 서비스를 운영하기 위해선 24시간 돌아가는 운영서버에 내 프로젝트를 배포해야한다. 그 기틀을 마련하기 위해선 여러가지 설치 및 설정을 해줘야한다. 1. AWS EC2 인스턴스 생성( 가상 서버 생성 ) 2. AWS RDS 생성( 관계형 데이터베이스 ) 3. 역할 및 보안 설정 1. 수동 배포 github에 프로젝트 푸쉬 후 EC2서버에서 - git clone or git pull 테스트 및 빌드 - gradlew test / gradlew clean build (gradle이 없는 환경에서도..
클라우드서비스는 인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), 데이터베이스, 네트워크, 소프트워 어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것입니다. 단순 물리 장비의 대여 이상의 서비스를 제공합니다. AWS의 EC2는 서버 장비를 대여하는 것이지만, 실제로는 그 안의 로그 관리, 모니터링, 하드웨어 교체, 네트워크 관리 등을 기본적으로 지원하고 있습니다. 개발자가 직접 해야할 일을 AWS가 전부 지원을 하는것입니다. 이런 클라우드는 몇 가지 형태가 있습니다. (1) In astructure as a Service(IaaS 아이아스 ) 기존물리 장비를 미들웨어와 함께 묶어둔 추상화서비스입니다 가상머신, 스토리지, 네트워크 운영체제 등의 IT 인프라를 대여해 주는 서비스입니다.예) AWS의 E..
https://evan-moon.github.io/2020/04/07/about-restful-api/ 프론트엔드와 백엔드가 소통하는 엔드포인트, RESTful API 이번 포스팅에서는 프론트엔드 개발자와 백엔드 개발자가 만나는 지점인 API에 대한 이야기를 해보려고한다. 일반적으로 앱이나 웹 상에서 작동하는 어플리케이션을 개발할 때는 주로 HTTP나 HTTP evan-moon.github.io - 잘 정리된 블로그 발견! -------------------------------------- 최근의 서비스/애플리케이션의 개발 흐름은 멀티 플랫폼, 멀티 디바이스 시대로 넘어와 있다. 단순히 하나의 브라우저만 지원하면 되었던 이전과는 달리, 최근의 서버 프로그램은 여러 웹 브라우저는 물론이며, 아이폰, 안드..