본문 바로가기
728x90
반응형

Skills101

무중단 배포와 배포 전략(롤링, 블루-그린, 카나리, A/B) 무중단 배포가 왜 중요하며 어떤 배경에서 등장한 걸까? [등장 배경] 소프트웨어 개발 방법론의 변화 소프트웨어 개발 방법론이 폭포수(Waterfall) 방식에서 애자일(Agile) 방식으로 바뀌면서 릴리즈 기간이 훨씬 단축되었고 배포가 잦아질 수 밖에 없게 되었다. 마이크로서비스 아키텍처의 등장 서비스가 하나의 거대한 아키텍처로 구현되는 모놀리식(Monolithic) 구조에서 마이크로서비스(Microservices)로 모듈화되면서 독립적으로 개발하고 동시에 배포할 수 있게 되었다. 이렇듯 잦은 배포가 필연적으로 생길 수 밖에 없게 되면서 운영 안정성 측면에서 배포의 위험을 최소화하고 안정적인 서비스를 운영하기 위한 요구가 생겼고, 무중단 배포의 중요성이 커지게 되었다. 무중단 배포(Zero Downtim.. 2023. 5. 8.
스프링부트 테스트 시, JPA와 SQL INIT 충돌 이슈 마지막 통합테스트만이 남았다. 테스트의 편의를 위해 insert문으로 작성한 sql 스크립트문을 실행시킨다면, 테스트 코드 안에서 dummy 데이터를 만들어줄 필요 없이 쉽게 테스트를 할 수 있겠다고 생각했다. 그러나 문제가 발생했는데..! ddl-auto와 data.sql을 혼합하는 방식 첫 번째로 시도한 설정은 ddl-auto와 data.sql을 혼합하는 방식이다. application.yml 설정 ddl-auto를 create로 해서 table들을 다 생성한 뒤, 만들어준 data.sql을 실행시킨다면 문제없이 더미데이터를 사용할 수 있을 거라고 생각했지만... dataSourceScriptDatabaseInitializer가 bean에 생성되는 데 실패했다는 에러가 뜬다. 더 자세한 이유를 찾아보.. 2023. 4. 30.
[AWS EC2로 배포하기] 3. 나의 프로젝트 EC2 배포하기 https://velog.io/@jaybon/series/infra 시리즈 | 인프라 infra - jaybon.log EC2와 mobaXterm을 연결한다.리눅스에 한국 시간으로 timezone 설정을 한다.리눅스에 JDK를 설치한다.Spring boot와 AWS RDS와 연결한다.프로젝트를 jar 파일로 빌드한다.Spring boot 서비스를 배포한다.로그파 velog.io *링크의 블로그를 보고 작성하였음을 알립니다. 인스턴스 생성 OS 선택하기 Ubuntu를 사용하는 이유? Linux는 cmd로 입력하기 때문에 가볍다. ubuntu가 요즘 유명하고 무료이고 참고자료도 많다. aws linux와 ubuntu는 아마존에서 기술지원이 가능하다는 장점도 있다. 아키텍처 선택 *데스크톱과 관련된 시스템. .. 2023. 3. 15.
[AWS EC2로 배포하기] 2. AWS 관련 용어 정리 RDS RDS는 AWS에서 제공하는 관리형 관계형 데이터베이스 서비스. 프로비저닝, 설정, 패치 및 백업하는 작업을 대신 처리. 자동화된 복제, 스케일링, 모니터링, 보안 및 데이터베이스 복원 기능 등 다양한 기능을 제공. DBeaver DBeaver는 오픈 소스 데이터베이스 관리 도구. SQL 쿼리 및 스크립트 작성, 데이터베이스 객체 관리, 데이터 검색 및 조회, 데이터 편집 및 업데이트, 데이터베이스 백업 및 복원, 서버 및 세션 관리 등 다양한 기능을 제공. 다양한 확장 가능한 플러그인을 지원. MobaXterm MobaXterm은 모바일 및 원격 업무를 위한 전용 터미널 및 X 서버. Windows 운영 체제에서 작동하며 다양한 네트워크 프로토콜 (SSH, Telnet, RDP 등)을 사용하여 .. 2023. 3. 15.
[AWS EC2로 배포하기] 1. EC2, RDS AWS는 스타트업, 대기업 가릴 것 없이 사용하는 클라우드 인프라 스트럭쳐 서비스이다. 요즘은 자체 서버를 잘 사용하지 않고(게임회사에서는 사용) 클라우드 서버를 이용하는 추세라고 한다. *오라클의 OCI는 가격이 매우 합리적이라고 함. EC2란? EC2는 쉽게 말해서 컴퓨터를 임대하는 것이다. 성능이 높을수록 비싸다. EC2 컴퓨터의 localhost에 실행시킨 것. 공유기 포트만 열어주면 접속 가능하다. 만약 내 ip도 포트 포워딩 설정을 한다면? ⇒내 ip 주소+외부 포트와 원리가 같다. *포트번호가 안보이는 이유는 80이기 때문. *http는 80으로 인식한다. [비용] AWS는 1년 또는 750시간 프리티어 사용시 무료 EX) EC2 1개 사용시 1년동안 사용가능. EC2 2개 사용시 6개월동안.. 2023. 3. 15.
[Jsoup이란/Jsoup 자바로 구현해보기] Jsoup이란 html 문서로 저장된 데이터를 Parsing해주는 오픈 소스 라이브러리입니다. jsoup 공식 문서 보기 https://jsoup.org/ jsoup: Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safety jsoup: Java HTML Parser jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. .. 2023. 2. 8.
728x90
반응형