전체 글

Database

오라클 아키텍처

오라클 아키텍처에서 데이터베이스의 정의 오라클에서는 디스크에 저장된 데이터 집합(Datafile, Redo Log File, Control File 등)을 데이터베이스 라고 부른다. 그리고 SGA (Server Global Area) 공유 메모리 영역과 이를 액세스하는 프로세스 집합을 합쳐서 인스턴스라고 부른다. 오라클 백그라운드 프로세스 종류 SMON(System Monitor) 오라클 인스턴스를 관리하는 프로세스, 오라클 인스턴스에 장애 발생 후 재가동 시 복구를 수행하고,임시 세그먼트와 익스텐트를 모니터링하여 데이터파일의 빈 공간 연결 → 하나의 큰 빈 공간으로 만듦. 더 이상 사용하지 않는 임시 블록 세그먼트를 재사용할 수 있도록 함. PMON(Process Monitor) 오라클 서버에서 사용되..

카테고리 없음

[단어 정리] 교살자 패턴, 스트랭글러 패턴 (strangler pattern)

*레거시 시스템을 점진적으로 교체하여 레거시 시스템을 단계적으로 페이드아웃한다*어원: 마틴 파울러의 아내인 Cindy Folwer와 함께 호주에 갔을 때 본 Strangler figs라는 이름의 식물에서 기원한다. 시스템을 재작성할 때 자주 사용하는 기법을 교살자 무화과(Strangler Fig) 애플리케이션이라고 한다. 숙주 나무의 위쪽 가지에 씨앗을 뿌리는 무화과 나무를 보고 영감을 얻은 마틴 파울러가 처음으로 이 패턴을 떠올렸다. 숙주 나무에 씨를 뿌린 무화과는 뿌리를 내리기 위해 땅으로 뻗으며 점차 숙주 나무를 감싸게 된다. 기존 나무는 처음에는 새로운 무화과 나무의 지지대가 되다가 마지막 단계에 이르면 썩어서 죽어버리고, 그 자리에는 이제 스스로 생존이 가능해진 무화과 나무만 남게 된다. - 마..

SpringBoot

SpringBoot WAS 기본 이해

기본적으로 서버는 WebServer를 앞에 두고, WAS를 통해 db 커넥을 비롯한 작업들을 수행한 뒤 다시 내보내게 되는데, 이때 WebServer에는 Nginx, Apache 등이 있고, WAS에는 Tomcat 등이 있다. 기본적으로 Spring Boot에는 아파치 톰캣이 내장되어있어 사용자가 서버로 요청을 보내게되면, 특정 포트로 오는 요청을 잡아 SpringBoot 어플리케이션으로 연결시켜주는 것이다. 그렇다면 WAS는 어떻게 스프링 어플리케이션 서블릿과 연동하는걸까? ServeltWebServerFactoryCustomize에서 servlet 생성 → DispatcherServletAutoConfiguration에서 DispatcherServlet 생성 ServeltWebServerFactory..

SpringBoot

Spring Async 사용시 SecurityContext Thread 전파 오류

Async Annotation을 사용하여 여러 multipartfile을 s3에 처리하는 기능을 포함하고 있는 Company Entity 생성 함수를 비동기로 실행하도록 처리하였습니다. @Async override fun companySignup(req: CompanySignupRequest, emailCheckCode: String, companyIntroduction: CompanyIntroductionRequest) { if (checkEmail(req.companyContact.email, emailCheckCode)) { ... } 그러나 test하던 중 API 자체는 200이 떴으나, 입력 값이 제대로 들어가지 않음을 확인할 수 있었습니다. (Company는 User를 상속받고 있었으며, In..

Database

Active Session History(ASH)

배경 실시간 모니터링을 통해 문제를 빠르게 해결하려면 세션 레벨 성능 분석이 필요한데, 오라클 9i까지 제공하던 세션 레벨 동적 뷰만으로는 한계가 많았다. 물론 SQL 트레이스를 통해 가장 상세한 세션 레벨 분석이 가능하지만 다음과 같은 어려움이 있었다. 시스템에 주는 부하가 큼. 파일 단위로 수집되기에 통계적 접근 어려움. 분석 완료 까지 소요되는 시간 큼. 수동으로 활성화해야함. (⇒ 때문에 이미 상황이 끝나고 난 뒤에는 확인 불가) 도입 그렇기에 오라클 10g부터는 ASH 기능을 도입하여, 현재 접속해서 활동중인 Active Session 정보를 1초에 한 번씩 샘플링해서 ASH 버퍼에 저장한다. SGA Shared Pool에서 CPU 당 2mb를 할당받아 세션 정보를 기록하며, 1시간 혹은 버퍼의..

Network

[네트워크 기초] OSI 7계층에 대해

osi 7계층이란? 네트워크 기초 중의 기초. 오늘은 어딜가든 네트워크와 관련되있다면 tcp/ip와 함께 항상 나오는 osi 7계층에 대해 알아볼 것이다. 1. 물리 계층 - 물리계층이란? 대충 하드웨어라고 생각하면 편하다. 물리계층은 전기 신호를 주고받는 곳으로써, 01011110001 같은 이진수들을 주고받으며, 이 계층에서 데이터의 단위는 "비트"라고 한다. 이에 속하는 대표적인 장치들은 랜카드, 리피터, 허브, 통신 케이블 등 하드웨어적인 느낌이 드는 것들이라면 대부분 이 쪽이다. - 물리계층에선 그저 전달만 할 뿐. 내용에 대해선 아무런 관여를 하지 않는다. 오류 제어나, 어떻게 전달해야 더 효율적인지 등은 다른 계층에서 한다. 2. 데이터 링크 계층 - 데이터 링크 계층은 링크의 설정과 유지 ..

xlwdn98767
개발 조무사 IT 개발 블로그