Large Files এর জন্য Streaming API ব্যবহার

Java Technologies - অ্যাপাচি এইচটিটিপি ক্লায়েন্ট (Apache HTTP Client) Streaming এবং Large File Handling |
148
148

অ্যাপাচি HTTP ক্লায়েন্ট (Apache HTTP Client) একটি শক্তিশালী লাইব্রেরি যা Java পরিবেশে HTTP অনুরোধ (HTTP Request) এবং প্রতিক্রিয়া (HTTP Response) পরিচালনা করতে ব্যবহৃত হয়। বড় ফাইল ডাউনলোড বা আপলোডের ক্ষেত্রে একবারে সম্পূর্ণ কনটেন্ট মেমোরিতে না লোড করে স্ট্রিমিং (Streaming) উপায়ে ডেটা হ্যান্ডলিং করতে পারলে সিস্টেমের উপর চাপ কমে এবং পারফরম্যান্স উন্নত হয়।

Streaming API এর মূল ধারণা

স্ট্রিমিং API ব্যবহার করে বড় ফাইল আংশিকভাবে পড়া (read) বা লেখা (write) সম্ভব। অর্থাৎ কনটেন্ট (Content) ধাপে ধাপে সংগ্রহ করা যায়, যাতে অ্যাপ্লিকেশন মেমোরি (Application Memory) অতিরিক্ত ব্যবহৃত না হয়। Apache HTTP Client এর CloseableHttpResponse অবজেক্ট ব্যবহার করে InputStream এর মাধ্যমে ডেটা পড়া যাবে এবং প্রয়োজনে আউটপুট স্ট্রীমের (OutputStream) সাথে সংযুক্ত করা যাবে।

বড় ফাইল ডাউনলোডের উদাহরণ (Example)

এই উদাহরণে HttpClientBuilder দিয়ে ক্লায়েন্ট তৈরি করে একটি GET রিকোয়েস্ট (GET Request) পাঠানো হবে, এবং রেসপন্সের (Response) InputStream থেকে ডেটা পড়ে লম্বা ফাইল সিস্টেমে লেখা হবে:

CloseableHttpClient httpClient = HttpClientBuilder.create().build();  
HttpGet request = new HttpGet("http://example.com/largefile.zip");  
try (CloseableHttpResponse response = httpClient.execute(request)) {  
    HttpEntity entity = response.getEntity();  
    if (entity != null) {  
        try (InputStream in = entity.getContent();  
             FileOutputStream out = new FileOutputStream("largefile.zip")) {  
            byte[] buffer = new byte[8192];  
            int bytesRead;  
            while ((bytesRead = in.read(buffer)) != -1) {  
                out.write(buffer, 0, bytesRead);  
            }  
        }  
    }  
}

উপরে দেখা যাচ্ছে, পুরো ফাইলটি একবারে মেমোরিতে লোড করা হচ্ছে না। বরং InputStream থেকে ছোট ছোট বাফার (Buffer) আকারে ডেটা পড়ে সরাসরি ডিস্কে লেখা হচ্ছে।

সারাংশ: অ্যাপাচি HTTP ক্লায়েন্টের স্ট্রিমিং API ব্যবহার করে বড় ফাইল ডাউনলোড বা আপলোডের ক্ষেত্রে মেমোরি ব্যবহারের অপটিমাইজেশন এবং পারফরম্যান্স উন্নত করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion