Durable Streams को देखकर मुझे यह एक अच्छा प्रोजेक्ट लगा, इसलिए मैंने अपनी मुख्य भाषा java में इसका implementation भी बनाकर देखा।

मुख्य विशेषताएँ

  • विशिष्ट लाइब्रेरी dependency को न्यूनतम रखना: इसे इस तरह बनाया गया है कि यह किसी खास framework या खास library पर यथासंभव निर्भर न हो, ताकि अधिकतम customization संभव हो और साथ ही एक default implementation भी उपलब्ध रहे।
  • Virtual thread optimization: इसे Java 17 या उससे ऊपर में इस्तेमाल किया जा सकता है, लेकिन Java 21 या उससे ऊपर में Virtual thread के साथ उपयोग करने की सिफारिश की जाती है।
  • मुख्य JVM frameworks integration: Spring MVC, Spring WebFlux, Micronaut, Quarkus, Ktor के लिए adapters प्रदान किए जाते हैं। हर framework के अनुरूप request/response conversion और SSE handling built-in है, इसलिए केवल कुछ पंक्तियों की configuration से इसे तुरंत इस्तेमाल किया जा सकता है।
  • Protocol conformance tests पास: durable-streams repository में दिए गए 131 conformance tests सभी पास कर लिए गए हैं।

ध्यान देने योग्य बातें

फ़ाइलसिस्टम-आधारित storage metadata को सुरक्षित रखने के लिए Rocksdb का उपयोग करता है। Rocksdb ने हाल ही में सभी प्रमुख OS के binaries शामिल करने वाले fat jar देने के तरीके से बदलकर, classifier के माध्यम से हर OS के लिए optimized jar को सीधे चुनने वाले तरीके को अपनाया है।
इसी वजह से, यदि आप फ़ाइलसिस्टम-आधारित storage का उपयोग करना चाहते हैं, तो आपको rocksdb को dependency में सीधे जोड़ना होगा।

उदाहरण

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>  

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.