Web/Spring(56)
-
Springboot + koltin coroutine 사용법
1. 코루틴이 왜 필요할까?코루틴은 비동기 프로그래밍을 단순화하고, 효율적인 동시성(concurrency) 관리를 가능하게 하는 프로그래밍 개념입니다. 코루틴은 경량 스레드(lightweight thread)와 같이 작동하는데, 개발자가 프로그램의 어느 시점에서든 실행을 일시 중지하고 필요할 때 재개할 수 있게 해줍니다. 이러한 특성 덕분에 코루틴은 네트워크 호출, 데이터베이스 트랜잭션과 같은 비동기 작업을 쉽고 효과적으로 처리할 수 있으며, 이런 작업들을 마치 동기적 코드처럼 보이게 만들어 줍니다.필요성은 비동기 코드를 더 간결하고 이해하기 쉽게 만들며, 자원을 효율적으로 사용할 수 있습니다. 전통적인 멀티 스레딩 접근 방식에 비해 메모리 사용을 줄이고, 컨텍스트 스위칭의 오버헤드를 감소시킬 수 있어 ..
2024.05.16 -
Spring kafka + micrometer tracing
build.gradleimport org.jetbrains.kotlin.gradle.tasks.KotlinCompileplugins { id("org.springframework.boot") version "3.2.5" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.23" kotlin("plugin.spring") version "1.9.23"}group = "com.spring"version = "0.0.1-SNAPSHOT"val jvmVersion = JavaVersion.VERSION_17java { sourceCompatibility = jvmVersion}repositor..
2024.05.14 -
Micrometer Tracing
기본 사용법// Span을 생성한다. 만약 현재 쓰레드에 스팬이 있다면, 현재 새로 생성한 newSpan의 부모가 된다.Span newSpan = this.tracer.nextSpan().name("calculateTax");// Span을 시작하고 Scope에 넣는다.(Scope에 넣는다는 의미는 Thread local에 스팬을 넣는다는 뜻)try (Tracer.SpanInScope ws = this.tracer.withSpan(newSpan.start())) { // 더 나은 디버깅을 위해서 Span에 key/value 쌍을 넣을 수 있다. newSpan.tag("taxValue", taxValue); // Span에 이벤트 로깅을 할 수 있다.(이벤트에는 타임스탬프가 찍힌다.) ..
2024.04.30 -
Spring kafka 설명
https://jessyt.tistory.com/m/151?category=966697 Spring-Kafka Lifecycle 이번 글에서는 Spring-Kafka의 Lifecycle에 대해서 작성해보겠습니다. 목차 Lifecycle Lifecycle Management 주의사항 1. Lifecycle @KafkaListener는 Application Context 안에 Bean이 아닙니다. @KafkaListener는 KafkaListenerEndpointR jessyt.tistory.com 해당 포스팅 말고 다음 포스팅에도 읽어볼만한 주제가 많음 https://shining-life.tistory.com/m/3 4.1.3. Receiving Messages - (1) MessageListenerCo..
2023.11.05 -
Spring Kafka commit 정책
https://docs.spring.io/spring-kafka/docs/current/reference/html/#committing-offsets Spring for Apache Kafka When using Spring for Apache Kafka in a Spring Boot application, the Apache Kafka dependency versions are determined by Spring Boot’s dependency management. If you wish to use a different version of kafka-clients or kafka-streams, and use the embedded ka docs.spring.io https://hanseom.tist..
2023.11.05 -
대용량 트래픽관련 유튜브 영상들
https://m.youtube.com/watch?v=XBXmHCy1EBA&pp=ygUT64yA7Jqp65-JIO2KuOuemO2UvQ%3D%3D https://m.youtube.com/watch?v=qzHjK1-07fI&pp=ygUT64yA7Jqp65-JIO2KuOuemO2UvQ%3D%3D
2023.11.02