반응형 IT/Knowledge272 2PC 란? Two Phase Commit 의 약자인 2pc는 CQRS 의 패턴과 비슷하게 트랜잭션이 실패할 경우 rollback을 대비해서 존재하는 것이다. CQRS 에 대해서는 아래 참고 포스팅을 참고 하면 된다. CQRS에 비해서 2pc는 어떻게 보면 더 간단하다고 생각이 들수도 있지만. 트랜잭션의 유형에 따라 , 상황에 따라 CQRS 를 사용해도 되고 2pc를 사용해도 된다. 그럼 이 2pc는 처음 시작하는 트랜잭션부터 끝나는 지점까지 모든 작업이 실패가 없이 이루어 진다면 그때 한번에 쿼리를 날리고 commit 을 하게 된다. 그렇게 된다면 rollback을 할일이 없어져 트랜잭션이 꼬이는 부분에서는 해결이 된다. - 시작 : 독립적인 일을 시작하는 것 - 끝 : 준비 이전까지 일을 끝내는 것 - 준비 - .. 2022. 11. 4. 교착상태 / 기아상태 교착상태(Deadlock)란 서로 다른 프로세스가 서로 점유하고 있는 자원의 반납을 대기하고 있는 상태를 의미한다. 발생조건 상호 배제: 한 번에 한 프로세스만 해당 자원을 사용할 수 있어야 함 점유 대기: 할당된 자원을 가진 상태에서 다른 자원을 기다림 비선점: 다른 프로세스가 자원의 사용을 끝낼 때 까지 자원을 뺏을 수 없음 순환대기: 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음 해결방법 예방: 4가지 조건 중 하나라도 만족되지 않도록 함 회피: 알고리즘을 데드락이 발생하지 않도록 함 회복: 교착상태가 발생할 때, 해결함 무시: 회복과정의 성능저하가 심하다면 그냥 무시 기아상태(Starvation)란 여러 프로세스가 부족한 자원을 점유하기 위해 경쟁할 때, 특정 프로세스가 영.. 2022. 11. 3. git / github 차이 이전 포스팅에서 git에 대해서 다룬글이 있다. 아래 참고 포스팅을 참고하면 되고 이번 포스팅에서는 둘의 차이를 설명하고자 작성한다. git 오픈 소스 버전 관리 시스템(VCS: Version Control System) 로컬에서 버전 관리 소프트웨어 개발 및 소스 코드 관리에 사용 git은 본인의 코드와 그 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램이며, 로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해줌 git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없음 github Git Repository를 위한 웹 기반 호스팅 서비스 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를.. 2022. 11. 2. DevOps 에서의 Blue-Green 배포, A/B 테스트, Canary Release 이 순서는 무중단 배포 전략 이다. 요즘은 MSA 아키텍처를 많이 지향하고 있는 추세이다. 이런 트렌드에 맞춰 배포 전략도 다양하게 개발되고 발전하여 변화하고 있다. 이번 포스팅 살펴볼 내용은 여러가지 배포 전략과 테스트 방법이다. 롤링(Rolling) 일반적인 배포를 뜻하고 단순하게 서버를 구성하여 배포 하는 전략이다. 구버전에서 신버전으로 변환시 일반적으로 사용되며 미리 서버에 대한 파악이 되어야한다. 아래 그림을 보면 이해에 도움이 될것이다. 이러면서 배포가 진행이 된다. 일반적인 서비스 배포 과정에서는 지금까지는 잠시 서버를 중단 시키고 업그레이드를 하거나 하는 문제들이 많았다. 서비스가 중단되면 문제가 되거나 불편함 등에서 위험이 발생한다. 그렇기 때문에 무중단 배포 전략이 필요하게 되었고 그 .. 2022. 10. 29. 프로세스 관련 용어 프로세스라는 말을 많이 쓰곤 하는데 관련 용어들을 다뤄볼것이다. 프로세스에 대한 개념은 아래 참고 포스팅을 참고하면 도움이 될 것이다. 용어 설명 백그라운드 프로세스 백그라운드 프로세스로 실행하면 쉘은 백그라운드 프로세스의 종료 여부에 관계없이 즉시 명령 대기 상태가 되면서 다른 명령을 받아 들일 준비를 한다. 어떤 명령을 백그라운드로 실행시키고 싶으면 ‘&’ 를 명령뒤에 넣어주면 된다. 키보드 입력을 받을 수 없으므로 입력 없이 장시간 실행되어야 하는 경우 주로 사용한다. (백그라운드로 실행되고 있는 프로세스는 ps 명령으로 상태를 점검) 포어그라운드 프로세스 쉘 프롬프트에서 명령을 입력하고 실행하면 대부분 포그라운드로 프로세스가 되고 포그라운드 모드로 실행되는 프로세스는 키보드 입력을 받을 수 있고,.. 2022. 10. 24. 가상 메모리 가상 메모리란? 프로그램이 실행되기 위해서는 주기억장치로 들어가야 하는데, 실행될 프로그램이 주기억장치보다 크거나 여러 개인 경우에는 주기억장치 공간의 부족으로 인해 프로그램이 제대로 실행되지 못할 수 있다. 그래서 당장 실행에 필요한 부분만 주기억장치에 저장하고, 나머지는 보조기억장치에 두고 동작하도록 하여 이런 문제를 해결할 수 있는데, 이런 개념을 가상 메모리라 하며 운영체제에서 지원한다. -네이버 지식백과 가상 메모리는 프로세스가 실제 메모리의 크기와 상관없이 메모리를 이용할 수 있도록 지원하는 기술 이다. 가상 메모리는 실제 메모리(RAM, main memory, first storage)와 보조 기억 장치(auxiliary storage, secondary storage)의 Swap 영역으로 .. 2022. 10. 23. MRD 파일 .mrd 파일이 있어서 어떤것인지 알아보고 알게 된 점을 공유하고자 포스팅을 작성한다. mrd는 MathRevolt Infinity Document 의 약자이며 MathRevolt 에서 개발 한 MathRevolt Infinity Document 이다. MRD 파일 확장자 는 복잡한 수학적 표현에 사용되는 혁신적인 비선형 수학 응용 프로그램 인 Infinity와 연관되어 있고, MRD 파일 MathRevolt Infinity에서 만든 수학 문서가 들어 있다 여는 방법은 Infinity 를 사용해서 열수가 있다. 또한 추가로 이런 파일들도 함께 연관이 있다. MRD 파일과 관련있는 다른 파일 종류들 .QTM Apple 비디오 파일 Apple QuickTime Movie .REP Rockstar Games .. 2022. 10. 21. Third Party 란? 서드파티, 3rd 파티 라고도 적는 이 서드 파티란 무엇일까? IT용어로써 많이 나오는 단어이다. 다른 회사 제품에 이용되는 소프트웨어나 하드웨어를 개발하는 회사 를 말한다. 어떤 기업에서는 소비자들을 위한 상품을 만들기 위해서 서비스에 해당하는 소프트웨어를 만들곤 한다. 하지만 서버부터 시작해서 보안, 데이터베이스 등 모든것을 작업하지는 않을때도 많다. 다른 기업에서 서비스를 사와서 사용을 하고 그에 해당되는 값을 해당 기업에 지불하는 형태로도 많이 사용한다. 이럴때 사온 기업을 서드파티라고 한다. 위키 참조 https://ko.m.wikipedia.org/wiki/%EC%84%9C%EB%93%9C_%ED%8C%8C%ED%8B%B0_%EA%B0%9C%EB%B0%9C%EC%9E%90 서드 파티 개발자 -.. 2022. 10. 14. Eureka 란? 마이크로서비스들의 정보를 레지스트리에 등록 할수 있게 하고 마이크로 서비스의 동적인 탐색과 로드밸런싱을 제공한다. 마이크로 서비스에 대해서는 아래 참고 포스팅을 참고 하면 도움이 될것이다. 해당 사진만 봐서는 해당 카테고리에 있는게 맞나 의아해 할수도 있다. 눈썰미가 좋은 사람은 그림이 스프링 관련 그림이라는것을 의심할 것이다. 정확하게 말하면 스프링 유레카라는 것이고 본 포스팅은 유레카에 대한 설명을 하기 위해서 knowledge 카테고리에 배치 하였다. 추후 스프링에서 다뤄야할 경우가 생긴다면 자바 카테고리에 추가하도록 할것이다. 다시 본론으로 돌아와서 유레카에 대한 얘기를 이어 가자면 유레카는 미들웨어 서버의 로드밸런스를 담당하기 위한 REST 기반의 서비스 이다. 자바에서는 클라이언트 요소도 있는.. 2022. 10. 12. 이전 1 ··· 16 17 18 19 20 21 22 ··· 31 다음 반응형