# Show GN: durable-streams-java - Durable Streams 의 Java 구현체

> Clean Markdown view of GeekNews topic #25548. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25548](https://news.hada.io/topic?id=25548)
- GeekNews Markdown: [https://news.hada.io/topic/25548.md](https://news.hada.io/topic/25548.md)
- Type: show
- Author: [click](https://news.hada.io/@click)
- Published: 2026-01-04T13:07:55+09:00
- Updated: 2026-01-04T13:07:55+09:00
- Original source: [github.com/Clickin](https://github.com/Clickin/durable-streams-java)
- Points: 2
- Comments: 0

## Topic Body

[Durable Streams](https://news.hada.io/topic?id=25290) 를 보고 좋은 프로젝트라고 생각해서 제 주력 언어인 java 의 구현체도 만들어봤습니다.  
  
#### 주요 특징  
- **특정 라이브러리 종속성 최소화**: 최대한 특정 프레임워크나 특정 라이브러리에 종속되지 않는 구조로 가능한 한 커스터마이즈 가능하면서도 기본 구현을 제공하는 형태로 만들었습니다.  
- **Virtual thread 최적화**: 자바 17 이상에서 사용가능하지만 Java 21 이상에서 Virtual thread와 함께 사용하시는걸 추천드립니다.  
- **주요 JVM 프레임워크 통합**: Spring MVC, Spring WebFlux, Micronaut, Quarkus, Ktor 용 어댑터를 제공합니다. 각 프레임워크에 맞는 요청/응답 변환과 SSE 처리를 내장하고 있어서 단 몇줄의 설정만으로 바로 사용할 수 있습니다.  
- **프로토콜 적합성 테스트 통과**: durable-streams 리포지토리에서 제공하는 131개의 적합성 테스트를 모두 통과했습니다.  
  
#### 주의사항  
파일시스템 기반 스토리지는 메타데이터 보관용으로 **Rocksdb**를 사용합니다. Rocksdb는 최근 모든 주요 OS의 바이너리를 포함한 fat jar를 제공하는 방식에서 각 OS별 최적화된 jar를 classifier를 통해 직접 선택하는 방식으로 바뀌었습니다.  
이에 따라 파일시스템 기반 스토리지를 사용하시려면 rocksdb를 직접 의존성에 추가하셔야합니다.  
  
##### 예시  
##### gradle  
```kotlin  
dependencies {  
    implementation("io.durablestreams:durable-streams-server-core:&lt;version&gt;")  
    runtimeOnly("org.rocksdb:rocksdbjni:10.4.2:linux64") // or win64/osx  
}  
```  
##### maven  
```xml  
&lt;dependency&gt;  
  &lt;groupId&gt;org.rocksdb&lt;/groupId&gt;  
  &lt;artifactId&gt;rocksdbjni&lt;/artifactId&gt;  
  &lt;version&gt;10.4.2&lt;/version&gt;  
  &lt;classifier&gt;linux64&lt;/classifier&gt;  
  &lt;scope&gt;runtime&lt;/scope&gt;  
&lt;/dependency&gt;  
```

## Comments



_No public comments on this page._
