Fiber क्या है और इसकी ज़रूरत क्यों है?
Fiber, Go के लिए एक तेज़ वेब फ्रेमवर्क है, जो Node.js के लोकप्रिय Express.js फ्रेमवर्क से प्रेरित है। इसे हाई-परफॉर्मेंस वेब ऐप और API बनाने के लिए डिज़ाइन किया गया है, जो न्यूनतम मेमोरी खपत करते हैं। Fiber, goroutines और fasthttp पैकेज पर आधारित नॉन-ब्लॉकिंग I/O मॉडल का उपयोग करता है, जो इसे Go के सबसे तेज़ वेब फ्रेमवर्क में से एक बनाता है।
Fiber की ज़रूरत क्यों है?
- परफॉर्मेंस: Fiber,
fasthttpके उपयोग से मानकnet/httpपैकेज से काफी तेज़ काम करता है। यह प्रति सेकंड हजारों रिक्वेस्ट प्रोसेस कर सकता है। - सरलता और परिचित सिंटैक्स: अगर आप Express.js जानते हैं, तो Fiber सीखना बहुत आसान है। API बहुत समान है: रूट्स, मिडलवेयर, रिक्वेस्ट हैंडलर — सब कुछ सहज है।
- जीरो मेमोरी एलोकेशन: Fiber मेमोरी एलोकेशन को कम करने की कोशिश करता है, जिससे गार्बेज कलेक्टर पर लोड कम होता है और स्थिरता बढ़ती है।
- एक्सटेंसिबिलिटी: कई बिल्ट-इन मिडलवेयर (CORS, लॉगिंग, कंप्रेशन, सेशन आदि) और खुद के मिडलवेयर बनाने की सुविधा।
- आधुनिक स्टैंडर्ड्स का सपोर्ट: Fiber HTTP/2, WebSocket, टेम्पलेट इंजन, स्टैटिक फाइल्स और बहुत कुछ सपोर्ट करता है।
Fiber की इंस्टॉलेशन
Fiber, Go की लाइब्रेरी है, इसलिए इसे Go के स्टैंडर्ड पैकेज मैनेजर से इंस्टॉल किया जाता है। सुनिश्चित करें कि आपके पास Go का वर्जन 1.16 या उससे ऊपर है।
# मॉड्यूल इनिशियलाइज़ करें (अगर नहीं किया है)
go mod init myapp
# Fiber इंस्टॉल करें (नवीनतम स्थिर वर्जन)
go get github.com/gofiber/fiber/v2
इसके बाद आप अपने प्रोजेक्ट में Fiber को इम्पोर्ट कर सकते हैं:
import "github.com/gofiber/fiber/v2"
नोट: अगर आप Go के पुराने वर्जन का उपयोग कर रहे हैं, तो Fiber v1 इंस्टॉल करना पड़ सकता है। हालांकि, v2 का उपयोग करने की सलाह दी जाती है क्योंकि इसमें ज़्यादा डेवलपमेंट हो रहा है।
कोड उदाहरण के साथ त्वरित शुरुआत
main.go फ़ाइल बनाएं और एक सरल HTTP सर्वर लिखें:
package main
import "github.com/gofiber/fiber/v2"
func main() {
// नया Fiber ऐप बनाएं
app := fiber.New()
// GET / रूट डिफाइन करें
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, Fiber!")
})
// सर्वर को पोर्ट 3000 पर शुरू करें
app.Listen(":3000")
}
सर्वर चलाएं:
go run main.go
ब्राउज़र खोलें और http://localhost:3000 पर जाएं। आपको "Hello, Fiber!" मैसेज दिखेगा।
व्याख्या:
fiber.New()— ऐप का नया इंस्टेंस बनाता है।app.Get("/", handler)— रूट पथ पर GET रिक्वेस्ट के लिए हैंडलर रजिस्टर करता है।c *fiber.Ctx— रिक्वेस्ट कॉन्टेक्स्ट, जो रिक्वेस्ट और रिस्पॉन्स डेटा तक पहुंच प्रदान करता है।c.SendString()— रिस्पॉन्स के रूप में स्ट्रिंग भेजता है।app.Listen(":3000")— सर्वर को पोर्ट 3000 पर शुरू करता है।
Fiber के मुख्य तरीके और फंक्शन
आइए Fiber के 10 मुख्य तरीकों और फंक्शनों को विस्तार से उदाहरणों के साथ देखें।
1. fiber.New()
क्या करता है: डिफ़ॉल्ट सेटिंग्स या दी गई कॉन्फ़िगरेशन के साथ Fiber ऐप का नया इंस्टेंस बनाता है।
पैरामीटर: वैकल्पिक config ...fiber.Config आर्गुमेंट लेता है — सेटिंग्स वाली स्ट्रक्चर (जैसे AppName, Prefork, ServerHeader आदि)।
उदाहरण:
package main
import "github.com/gofiber/fiber/v2"
func main() {
// डिफ़ॉल्ट सेटिंग्स के साथ बनाएं
app := fiber.New()
// कस्टम कॉन्फ़िगरेशन के साथ बनाएं
app2 := fiber.New(fiber.Config{
AppName: "MyApp",
Prefork: true,
})
}