분류 전체보기 (97) 썸네일형 리스트형 [SpringSecurity] 인증부가기능(WebAuthenticationDetails, WebAuthenticationDetailsSource) 인증 부가기능이란? SpringSecurity에서 보통 ID와 PASSWORD를 이용하여 로그인 처리를 합니다. 하지만 ID, PASSWORD 이외에도 추가로 파라미터를 전달하여 인증과정 속에서 활용하거나 인증 이후에도 이 정보들을 참조하여 사용자가 서버에 접근할 수 있도록 하고 싶다면 이러한 방법이 있습니다. WebAuthenticationDetails, WebAuthenticationDetailsSource 이 두 개의 클래스에 의해 파라미터를 추가할 수 있는데, 이 것의 흐름은 이렇습니다. 1. 사용자가 ID와 PASSWORD 그리고 PARAM1과 PARAM2를 입력하여 전송합니다. 2. 이 request 객체는 AuthenticationFilter를 통해 Authentication 인증 객체를 만.. Web Socket이란? Web Socket이란? HTML5 표준 기술로, 사용자의 브라우저와 서버 사이의 동적인 양방향 연결 채널을 구성합니다. WebSocket API를 통해 메시지를 서버로 보내고, 요청 없이 응답을 받아오는 것이 가능합니다. 서버와 클라이언트 간에 Socket Connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술이며 SNS 애플리케이션, 멀티플레이어 게임, 구글 Doc, 증권거래, 화상 채팅 등에 사용됩니다. Web Socket 등장배경 HTTP는 Stateless 한 특성을 갖고 있습니다. 연결이 해제됨과 동시에 클라이언트는 이전에 요청한 결과에 대해서 잊어버리는 것입니다. 하지만 시대의 변화로 단순 문서만 보내는 것이 아닌, 다양한 형태의 데이터 전송과 동적인 통신.. Spring Cloud Gateway 설정 및 테스트 Spring Cloud Gateway(SCG)란? API Gateway의 하나로 Spring 제단에서 권장하는 Gateway 서비스입니다. API Gateway란? API Gateway란? API Gateway를 알아보기 전에 우선 모놀로틱 아키텍처와 마이크로 서비스를 알아야 합니다. 1. 모놀로틱 아키텍처 (Monolithic Achitecture) 비즈니스 로직, DB, UI 등을 하나의 패키지에 담아 빌드하고 배포 sloth.tistory.com Spring Cloud Gateway 프로젝트 설정 우선 프로젝트 2개를 만들어야 합니다. 1. Test 프로젝트 2. Spring Cloud Gateway(SSG) 프로젝트 프로젝트 흐름> Test프로젝트는 8080포트 번호를 가지고 있고 해당 포트번호로.. API Gateway란? API Gateway를 알아보기 전에 우선 모놀로틱 아키텍처와 마이크로 서비스를 알아야 합니다. 1. 모놀로틱 아키텍처 (Monolithic Achitecture) 비즈니스 로직, DB, UI 등을 하나의 패키지에 담아 빌드하고 배포하는 아키텍처입니다 장점 개발 초기에 단순한 아키텍어 구조와 개발이 용이합니다. 어떤 서비스든지 개발 환경이 같아 복잡하지 않습니다. 단점 프로젝트 규모가 커짐에 따라 애플리케이션 구동시간이 늘어나고 빌드, 배포 시간도 길어집니다. 조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포를 해야합니다. 일부분의 오류가 전체에 영향을 미칩니다. 만약, 애플리케이션에서 일부 기능의 패치가 필요하게 된다면 모놀로식 아키텍처로 설계된 애플리케이션은 서버 전체를 다운시킨 후 코드를 수정하.. @PostConstruct, @PreDestroy @PostConstruct 초기화할 메소드에 사용된다. 어노테이션을 설정해놓은 메소드는 WAS가 띄어질 때 실행된다. @PreDestroy 컨테이너에서 객체를 제거하기 전에 실행된다. DB 클러스터링과 리플리케이션 클러스터(Cluster) DB를 여러개의 서버가 나눠서 처리하도록 한다. 장점 서버 한 대가 죽어도 대비가 가능하다. 용도 고가용성 DB의 가용성이란 DB가 동작하고 있는 시간과 정지한 시간의 비율이다. DB 시스템을 구성할 서버나 스토레지 장비를 각각 2대 이상으로 구성해서, 만의 하나 어느쪽인가에 장애가 발생했다고 하더라도 단 시간내에 운용을 재개할 수 있도록 한다. 병렬처리 성능향상 종류 Active - Active Clustering DB서버들이 각각 Active 상태로 둔다. 서버 하나가 죽어도 다른 서버가 역할을 바로 수행하여 중단되는 시간이 없다. 같이 사용되어 CPU와 메모리 이용률을 올릴 수 있다. 저장소 하나를 공유하면 병목현상이 발생될 수 있다. 병목현상 : 전체 시스템이 성능이나 용.. 캐시 서버 캐시란? "Cache"의 사전적 의미로는 저장소이다. 캐시는 저장공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 캐시 사용시 고려사항 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 반복적으로 동일한 결과를 돌려주는 경우 이 경우, 지속적으로 DBMS 혹은 서버에 요청하는 것이 아니라. Memory에 데이터를 저장하였다가 불러다 쓰는 것을 의미한다. 캐시 서버란? 인터넷 서비스 속도를 높이기 위해 사용자와 가까운 곳에 데이터를 임시 저장하여 빠르게 제공해주는 프록시 서버를 의미한다. 웹 캐시 서버는 클라이언트가 요청한 컨텐츠들을 기억하고 있다가 어느 한 클라이언트가 웹 캐시 서버가 기억하고 있는 동일한 컨텐츠를 또 다시 요청하는 경우 이를 직접 응답하여 서버의 부하를 절감시켜 주는.. VIP(Virtual IP)란? VIP는 Virtual IP로 가상아이피를 말하며 하나의 호스트에 여러 개의 IP주소를 할당하는 기술로 대장과 같은 역할이다. L4에서 로드밸런싱을 위해 사용되는 사례 1. 클라이언트가 150.150.150.3을 목적지로 요청을 한다. 2. DNS서버에서 VIP가 있는 스위치를 알려준다. 3. L4는 부하분산의 설정에 따라 알맞은 서버에 패킷을 전달한다. 이전 1 ··· 6 7 8 9 10 11 12 13 다음