분류 전체보기
-
상속과 합성은 객체지향 프로그래밍에서 가장 널리 사용되는 코드 재사용 기법이다. 상속이 부모 클래스와 자식 클래스를 연결해서 부모 클래스의 코드를 재사용(is-a관계)합성은 전체를 표현하는 객체가 부분을 표현하는 객체를 포함해서 부분 객체의 코드를 재사용 (has-a관계)합성은 구현에 의존하지 않는다는 점에서 상속과 다르다.합성은 내부에 포함되는 객체의 구현이 아닌 퍼블릭 인터페이스에 의존한다. 합성 관계는 객체 사이의 동적인 관계다. 상속으로 인한 조합의 폭발적인 증가기본정책과 부가정책이 있는 경우 기본 정책이 추가되는 경우에 기존에 만들어진 하나의 쌍이 하나 더 만들어지면 되겠지만..만약 부가정책이 추가된다면 엄청나게 많은 조합이 생겨나게 될 것이다이를 클래스 폭발(class explosion) 문제..
[Object] 11장 : 합성과 유연한 설계상속과 합성은 객체지향 프로그래밍에서 가장 널리 사용되는 코드 재사용 기법이다. 상속이 부모 클래스와 자식 클래스를 연결해서 부모 클래스의 코드를 재사용(is-a관계)합성은 전체를 표현하는 객체가 부분을 표현하는 객체를 포함해서 부분 객체의 코드를 재사용 (has-a관계)합성은 구현에 의존하지 않는다는 점에서 상속과 다르다.합성은 내부에 포함되는 객체의 구현이 아닌 퍼블릭 인터페이스에 의존한다. 합성 관계는 객체 사이의 동적인 관계다. 상속으로 인한 조합의 폭발적인 증가기본정책과 부가정책이 있는 경우 기본 정책이 추가되는 경우에 기존에 만들어진 하나의 쌍이 하나 더 만들어지면 되겠지만..만약 부가정책이 추가된다면 엄청나게 많은 조합이 생겨나게 될 것이다이를 클래스 폭발(class explosion) 문제..
2025.01.30 -
gateway의 역할 중에 하나는 서비스의 단일 진입점이다.서비스의 모든 요청이 들어오는 곳이니, accessLog를 남겨 호출이력을 관리할 수 있게 된다. Spring Cloud Gateway Reactive Server의 경우 netty를 HttpServer로 활용하니NettyWebServer에 accessLog 사용 방법을 알아보고, accessLog를 Customize 할 수 있는 방법을 알아보자. 기본적으로 Spring Cloud Gateway 가이드에 기본적인 설명이 나와있다. Add java property-Dreactor.netty.http.server.accessLogEnabled=true Add logback configuration access_log.log ..
[SpringCloudGateway] Netty AccessLog - Customizegateway의 역할 중에 하나는 서비스의 단일 진입점이다.서비스의 모든 요청이 들어오는 곳이니, accessLog를 남겨 호출이력을 관리할 수 있게 된다. Spring Cloud Gateway Reactive Server의 경우 netty를 HttpServer로 활용하니NettyWebServer에 accessLog 사용 방법을 알아보고, accessLog를 Customize 할 수 있는 방법을 알아보자. 기본적으로 Spring Cloud Gateway 가이드에 기본적인 설명이 나와있다. Add java property-Dreactor.netty.http.server.accessLogEnabled=true Add logback configuration access_log.log ..
2025.01.26 -
overviewGateway Handler Mapping SpringMVC의 동작 구성과 비슷하다. DispatcherServlet과 유사하게 Front Controller를 하나두어 진입점을 하나로 통합하였다. client 호출에서 Gateway Web Handler에 도달하기 전까지의 호출 순서를 보면 아래와 같다 Client ->HttpWebHandlerAdapter.handle -> (predicate, filter에서 사용하는 ServerWebExchange 생성 및 전달 )DispatcherHandler.handle -> (DispatcherServlet 유사)(handlerMapping을 찾아 handlerAdapter에서 수행)RoutePredicateHandlerMapping.getH..
[SpringCloudGateway] 구성 요소 및 동작 내용overviewGateway Handler Mapping SpringMVC의 동작 구성과 비슷하다. DispatcherServlet과 유사하게 Front Controller를 하나두어 진입점을 하나로 통합하였다. client 호출에서 Gateway Web Handler에 도달하기 전까지의 호출 순서를 보면 아래와 같다 Client ->HttpWebHandlerAdapter.handle -> (predicate, filter에서 사용하는 ServerWebExchange 생성 및 전달 )DispatcherHandler.handle -> (DispatcherServlet 유사)(handlerMapping을 찾아 handlerAdapter에서 수행)RoutePredicateHandlerMapping.getH..
2025.01.22 -
SpringCloudGateway는 스프링으로 만들어진 API-Gateway이다.그럼 API-Gateway가 무엇인지 먼저 알아보자. API-Gateway 란마이크로 서비스 아키텍처 형태로 구축되면서 다양한 서비스들의 엔드포인트를 관리하는 데 있어 어려움이 생기고, 또한 각 서비스마다 공통적으로 들어가는 기능(인증/인가, 로깅, 모니터링 등)들을 중복으로 개발해야 한다는 문제점이 발생한다.이러한 문제점을 해결하기 위해 API-Gateway를 도입할 수 있다. 즉, 모든 서비스로의 요청을 처리하는 단일 진입점이라고 할 수 있다. Gateway 패턴Gateway는 서버들에서 필요한 공통 로직을 통합하여 처리모든 서비스에서 필요한 유저 정보, 보안 정책 등을 Gateway에서 처리하고 이를 업스트림 서버..
[SpringCloudGateway] SpringCloudGateway란 (정의, 사용이유)SpringCloudGateway는 스프링으로 만들어진 API-Gateway이다.그럼 API-Gateway가 무엇인지 먼저 알아보자. API-Gateway 란마이크로 서비스 아키텍처 형태로 구축되면서 다양한 서비스들의 엔드포인트를 관리하는 데 있어 어려움이 생기고, 또한 각 서비스마다 공통적으로 들어가는 기능(인증/인가, 로깅, 모니터링 등)들을 중복으로 개발해야 한다는 문제점이 발생한다.이러한 문제점을 해결하기 위해 API-Gateway를 도입할 수 있다. 즉, 모든 서비스로의 요청을 처리하는 단일 진입점이라고 할 수 있다. Gateway 패턴Gateway는 서버들에서 필요한 공통 로직을 통합하여 처리모든 서비스에서 필요한 유저 정보, 보안 정책 등을 Gateway에서 처리하고 이를 업스트림 서버..
2025.01.19