반응형

Apache ActiveMQ VS Kafka

1. 개요 분산 아키텍처에서 애플리케이션은 일반적으로 서로 간에 데이터를 교환해야 합니다. 한편으로 이것은 서로 직접 통신함으로써 이루어질 수 있다. 반면에 고가용성 및 파티션 허용 범위에 도달하고 응용 프로그램 간의 결합을 느슨하게 하려면 메시징이 적절한 솔루션입니다. 따라서 여러 제품 중에서 선택할 수 있습니다. Apache Foundation은 ActiveMQ와 Kafka를 제공하며 이 기사에서 서로 비교할 것입니다. 2. 일반적인 사실 2.1. 활성 MQ Active MQ는 안전하고 신뢰할 수 있는 방식으로 응용 프로그램 간의 데이터 교환을 보장하는 것이 목표인 전통적인 메시지 브로커 중 하나입니다. 적은 양의 데이터를 다루므로 잘 정의된 메시지 형식과 트랜잭션 메시징에 특화되어 있습니다. 이 "..

Spring 2022.12.16

Java에 소멸자가 있습니까?

1. 개요 이 짧은 사용방법(예제)에서는 Java에서 개체를 파괴할 수 있는 가능성을 살펴보겠습니다. 2. 자바의 소멸자 객체를 생성할 때마다 Java는 자동으로 힙에 메모리를 할당합니다. 마찬가지로 객체가 더 이상 필요하지 않을 때마다 메모리가 자동으로 할당 해제됩니다. C와 같은 언어에서는 메모리에 있는 개체 사용을 마치면 수동으로 할당을 해제해야 합니다. 안타깝게도 Java는 수동 메모리 할당 해제를 지원하지 않습니다. 또한 Java 프로그래밍 언어의 기능 중 하나는 gar bage collection 이라는 기술을 사용하여 자체적으로 개체 소멸을 처리하는 것입니다 . 3. 쓰레기 수거 가비지 수집은 힙의 메모리에서 사용되지 않는 개체를 제거합니다. 메모리 누수를 방지하는 데 도움이 됩니다. 간단히..

Spring 2022.12.16

springdoc-openapi에서 Default Global SecurityScheme 적용

1. 개요 이 예제에서는 Spring MVC 웹 애플리케이션에서 springdoc-openapi 라이브러리 를 사용하여 기본 글로벌 Security 체계를 구성하고 이를 API의 기본 Security 요구 사항으로 적용하는 방법을 알아봅니다 . 또한 이러한 기본 Security 요구 사항을 무시할 수 있는 방법에 대해 설명합니다. OpenAPI 사양 을 사용하면 API에 대한 일련의 Security 체계를 정의할 수 있습니다 . API의 Security 요구 사항을 전역적으로 구성하거나 Endpoints별로 적용/제거할 수 있습니다. 2. 설정 Spring Boot를 사용하여 Maven 프로젝트를 빌드하고 있으므로 프로젝트 설정을 살펴보겠습니다. 이 섹션의 끝에는 간단한 웹 앱이 있습니다. 2.1. 의존..

Spring 2022.12.16

Maven 스냅샷 리포지토리와 릴리스 리포지토리 비교

1. 개요 이 예제에서는 Maven 스냅샷과 릴리스 리포지토리의 차이점을 설명합니다. 2. 메이븐 리포지토리 Maven 리포지토리는 애플리케이션에서 의존성으로 사용할 수 있는 사전 컴파일된 아티팩트 모음을 보유합니다. 기존 Java 애플리케이션에서는 일반적으로 .jar 파일입니다. 일반적으로 리포지토리에는 로컬과 원격의 두 가지 유형이 있습니다. 로컬 리포지토리는 Maven이 빌드 중인 컴퓨터에 생성하는 리포지토리입니다. 일반적으로 $HOME/.m2/repository 디렉토리 아래에 있습니다. 애플리케이션을 빌드할 때 Maven은 로컬 저장소에서 의존성을 검색합니다. 특정 의존성을 찾을 수 없는 경우 Maven은 원격 저장소( settings.xml 또는 pom.xml 파일 내에 정의됨)에서 이를 검색..

Spring 2022.12.16

OpenFeign 및 Spring으로 예외 전파

1. 개요 마이크로 서비스 간의 HTTP API 호출에 가끔 오류가 발생할 것으로 예상됩니다. OpenFeign 이 포함된 Spring Boot 에서 기본 오류 처리기는 Not Found 와 같은 다운스트림 오류 를 내부 서버 오류 로 전파합니다 . 이것은 오류를 전달하는 가장 좋은 방법이 아닙니다. 그러나 Spring과 OpenFeign 모두 자체 오류 처리를 제공할 수 있습니다. 이 문서에서는 기본 예외 전파가 작동하는 방식을 살펴보겠습니다. 또한 자체 오류를 제공하는 방법도 배웁니다. 2. 기본 예외 전파 전략 Feign 클라이언트는 어노테이션 및 구성 속성을 사용하여 마이크로 서비스 간의 상호 작용을 간단하고 고도로 구성 가능하게 만듭니다. 그러나 랜덤의 기술적 이유, 잘못된 사용자 요청 또는 코..

Spring 2022.12.16

Swagger의 @ApiOperation VS @ApiResponse

1. 개요 이 사용방법(예제)에서는 Swagger의 @ApiOperation 및 @ApiResponse 어노테이션 간의 주요 차이점에 대해 설명합니다. 2. Swagger를 사용한 설명 문서 REST API를 만들 때 적절한 사양도 만드는 것이 중요합니다. 또한 이러한 사양은 읽고 이해할 수 있어야 하며 모든 필수 정보를 제공해야 합니다. 또한 문서에는 API에 대한 모든 변경 사항에 대한 설명이 있어야 합니다. REST API 문서를 수동으로 작성하는 것은 소모적이며 더 중요한 것은 시간이 많이 소요된다는 것입니다. 다행스럽게도 Swagger와 같은 도구가 이 프로세스에 도움이 될 수 있습니다. Swagger 는 OpenAPI 사양 을 기반으로 구축된 오픈 소스 도구 세트를 나타냅니다 . REST AP..

Spring 2022.12.16

Class.getResource()와 ClassLoader.getResource()의 차이점

1. 개요 이 짧은 사용방법(예제)에서는 Class.getResource() 및 ClassLoader.getResource() 메서드 간의 차이점을 살펴보겠습니다 . 2. getResource() 메서드 Class 또는 ClassLoader 인스턴스에서 getResource() 메서드를 사용 하여 주어진 이름을 가진 리소스를 찾을 수 있습니다. 리소스는 데이터(예: 이미지, 텍스트, 오디오 등)로 간주됩니다. 경로 구분 기호로 항상 슬래시("/")를 사용해야 합니다. 이 메서드는 리소스를 읽기 위한 URL 개체를 반환하거나, 리소스를 찾을 수 없거나 호출자에게 리소스를 검색할 권한이 없는 경우 null 값을 반환합니다. 3. Class.getResource() 이제 클래스 인스턴스 를 사용하여 리소스를 ..

Spring 2022.12.16

Spring Security: 더 이상 사용되지 않는 WebSecurityConfigurerAdapter 업그레이드

1. 개요 Spring Security는 WebSecurityConfigurerAdapter 클래스 를 확장하여 엔드포인트 권한 부여 또는 인증 관리자 구성과 같은 기능에 대한 HTTP Security을 사용자 정의할 수 있습니다 . 그러나 최신 버전에서 Spring은 이 접근 방식을 더 이상 사용하지 않으며 구성 요소 기반 Security 구성을 권장합니다. 이 사용방법(예제)에서는 Spring Boot 애플리케이션에서 이 사용 중단을 대체하고 일부 MVC 테스트를 실행하는 방법을 알아봅니다. 2. WebSecurityConfigurerAdapter 가 없는 스프링 Security 우리는 일반적으로 WebSecurityConfigureAdapter 클래스 를 확장하는 Spring HTTP Securit..

Spring 2022.12.16

문제 스프링 웹 라이브러리 사용방법(예제)

1. 개요 이 예제에서는 Problem Spring 웹 라이브러리 를 사용하여 application/problem+json 응답 을 생성하는 방법 을 탐색할 것 입니다. 이 라이브러리는 오류 처리와 관련된 반복 작업을 피하는 데 도움이 됩니다. 문제 Spring Web을 Spring Boot 애플리케이션에 통합함으로써 프로젝트 내에서 예외를 처리하고 그에 따라 응답을 생성하는 방식을 단순화 할 수 있습니다 . 2. 문제 라이브러리 문제 는 Java 기반 Rest API가 소비자에게 오류를 표현하는 방식을 표준화하기 위한 작은 라이브러리입니다. 문제 는 알리고자 하는 오류의 추상화입니다 . 여기에는 오류에 대한 편리한 정보가 포함되어 있습니다. 문제 응답 의 기본 표현을 살펴보겠습니다 . { "title"..

Spring 2022.12.15

Spring Boot 관리자 사용방법(예제)

1. 개요 Spring Boot Admin 은 Spring Boot 애플리케이션을 관리하고 모니터링하는 데 사용되는 웹 애플리케이션입니다. 각 애플리케이션은 클라이언트로 간주되어 관리 서버에 등록됩니다. 이면에는 Spring Boot Actuator 엔드포인트가 마법을 부여합니다. 이 기사에서는 Spring Boot Admin 서버를 구성하는 단계와 애플리케이션이 클라이언트가 되는 방법을 설명합니다. 2. 관리 서버 설정 우선 간단한 Spring Boot 웹 애플리케이션을 만들고 다음 Maven 의존성 을 추가해야 합니다 . de.codecentric spring-boot-admin-starter-server 2.4.1 그런 다음 @EnableAdminServer 를 사용할 수 있으므로 아래 예와 같이 ..

Spring 2022.12.15
반응형