durable-streams-java - Implementasi Java untuk Durable Streams
(github.com/Clickin)Saya melihat Durable Streams dan merasa ini proyek yang bagus, jadi saya juga membuat implementasinya untuk Java, bahasa utama yang saya gunakan.
Fitur utama
- Meminimalkan ketergantungan pada library tertentu: Strukturnya dibuat agar sebisa mungkin tidak terikat pada framework atau library tertentu, sehingga tetap dapat dikustomisasi semaksimal mungkin sambil tetap menyediakan implementasi dasar.
- Dioptimalkan untuk Virtual thread: Bisa digunakan di Java 17 ke atas, tetapi disarankan memakainya bersama Virtual thread di Java 21 atau lebih baru.
- Integrasi dengan framework JVM utama: Menyediakan adapter untuk Spring MVC, Spring WebFlux, Micronaut, Quarkus, dan Ktor. Konversi request/response yang sesuai dengan masing-masing framework serta pemrosesan SSE sudah dibangun di dalamnya, sehingga bisa langsung digunakan hanya dengan beberapa baris konfigurasi.
- Lulus uji kesesuaian protokol: Lulus seluruh 131 tes kesesuaian yang disediakan oleh repositori durable-streams.
Hal yang perlu diperhatikan
Storage berbasis filesystem menggunakan Rocksdb untuk penyimpanan metadata. Rocksdb baru-baru ini berubah dari model penyediaan fat jar yang mencakup binary untuk semua OS utama menjadi model pemilihan langsung jar yang dioptimalkan untuk masing-masing OS melalui classifier.
Karena itu, jika Anda ingin menggunakan storage berbasis filesystem, Anda perlu menambahkan dependensi rocksdb secara langsung.
Contoh
gradle
dependencies {
implementation("io.durablestreams:durable-streams-server-core:<version>")
runtimeOnly("org.rocksdb:rocksdbjni:10.4.2:linux64") // or win64/osx
}
maven
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>10.4.2</version>
<classifier>linux64</classifier>
<scope>runtime</scope>
</dependency>
Belum ada komentar.