Client Sever Model
Client-Server Model एक Architecture Pattern है, जो Internet पर Data को Serve और Retrieve के लिए Web Technology में Use किया जाता है। इस Model में, Client (Web Browser), Server (Web Server) को एक Request Send करता है, और Server Request Prcoess एक Response Return देता है। Client-Server Model, Client और Server के बीच Communication Interface की तरह Work करता है।
Client और Server एक Standardized Communication Protocol, जैसे HTTP या HTTPS के माध्यम से Communication करते हैं। Client-Side Component, User Interface है, जिसके माध्यम से User अपनी Search Query Enter करते हैं। यह Component, Server-Side Component को Query Send करता है| जो Query को Processing करने, उसके Index से Relevant Data को Retrieve करने और Client को Result, Return करने के लिए Responsible होता है।
Server Component में Multiple Layer होती हैं, जिसमें Front-End layer Include होती है| जो आने वाले Request को Receive करती है, और Parses करती है| तथा एक Back-end layer होती है, जो Request को Process करती है| और Relevant Data को Retrive करती है| तथा इसमें एक Database Layer होती है, जो Indexed Data को Store करती है| Front-End Layer, Back-End Layer से Received Data को HTTP Response में Convert करता है, और Client को Output के रूप में Send करता है।
Type of Client Server Services
Server Computer, Multiple Service, Provide करते है| Service के आधार पर Server Computer को Service के नाम से जाना जाता है| Example -Email Server, Database Server, Web Sever इत्यादि|
Email Server
Email Server, Email से Related Service Available, Provide करती हैं| Email Server द्वारा Client Computer एक दूसरे को Message व Mail Send कर सकते हैं| Email Server, Client Computer के सभी Mail व Message को Save रखता है| अगर Client Email को Read करना चाहे| तो Server उस Client से Related सभी Email उस Network से Send कर सकते है|
Database Server
इस तरह के Server Computer बहुत बड़ी मात्रा में Client Computer की Information व Data अपने पास Store रखती है| Client Machine Database Server से Contact Stablish करके Information व Data को Server Computer में Save कर सकते हैं| तथा अपनी Need के अनुसार Stored Data को Retrieve भी कर सकते हैं|
Web Sever
यह Server Website से Related File को पास Store करते हैं| तथा जब भी Client Computer द्वारा Web Page को Access के लिए Request किया जाता है, तो Web Server, Requested, Web Page को Client को Send कर देते हैं| Example- Web Browser
Web Browser, Client Software होता है| इस Software में user Web Page से Related URL को Type करता है| Web Browser Type किये हुए URL के जरिये Web Server से Connection Stablish करता है, जिसके पास Requested Web Page Store होता है| Client की Request आने के बाद Web Server, Browser को Web Page, Send कर देता है| जिसके बाद Browser इस Web Page को Process कर user को Web Page में Availble, Current Component, User को Deliver करता है|
Advantages of the Client-Server Model
- Scalability: Clients को Affect किए बिना Server को आसानी से Upgrade अथवा Change किया जा सकता है|
- Reliability: High Availability, Provide करने और Downtime को कम करने के लिए Server को Redundant Component और Bakcup System के साथ Design किया जा सकता है।
- Security: Sensitive Data को Protect करने मदद करते हुए, Server Security policies को Apply करता है, और Access Control Provide करता है।
- Centralized Processing: Server, Complex Processing और Data Storage कर सकता है, जिससे Client को Same Processing Power के बिना उन Resoures तक Access की Permission मिलती है, जिनकी उन्हें आवश्यकता होती है।
- Flexibility: Client-Server Architecture, Simple File Sharing से Complex Enterprise System तक Application और Service की एक Wide Range को Support करता है।
Disadvantages of the Client-Server Model
- Single point of failure: Server, Client-server model में Failure के Single Point के रूप में कार्य करता है। यदि Server Fail हो जाता है, तो सभी Connected Client उन Resource को Access करने में Unable होंगे| जिनकी उन्हें Requirement है।
- Maintenance and Upgrades: Server का Upgrade या Maintainance एक Complex और Time लेने वाली Process हो सकती है, जिसके लिए सभी Connected Client को temporarily रूप से disconnected करने की आवश्यकता होती है।
- Latency: Client-Server Model, Latency से Suffer कर सकता है| क्योंकि Client से Server की Request Network पर Travel करती है, जिससे कभी-कभी Delay हो सकता है।
- Security: Server पर Resource का Centralization इसे Malicious Attacks के लिए एक Main Target बना सकता है, जिससे Server और इसके Resource को Secure करना महत्वपूर्ण हो जाता है।
Peer-to-Peer Model
Peer to Peer Network, Computer का एक Simple Network है। यहां प्रत्येक Computer एक Network में File Sharing के लिए एक Node के रूप में कार्य करता है। यहां प्रत्येक Node एक Server के रूप में कार्य करता है, और इस प्रकार Network में कोई Central Server नहीं होता है। यह बड़ी मात्रा में Data Share करने की Permission Provide करता है।
Works को समान रूप से सभी Nodes में Devide किया जाता है। Network में Connected प्रत्येक Node, Equal Workload, Share करता है। Network Failuare का Chance काम होता है| क्योंकि यह Network तभी Fail हो सकता है, जब Network में Connected सभी Nodes को Individually रूप से Work करना बंद कर देंगे| क्योंकि इस प्रकार के Network में Connected प्रत्येक Node अन्य Node पर Dependent नहीं होता है|
Types of Peer-to-Peer Model
Unstructured Peer-to-Peer Model
इस प्रकार के Model में Device Randomly Network से Connected होते हैं। इस Model को Create करना आसान होता है, क्योंकि इसमें कोई Structure Follow नहीं होता है। क्योंकि यह Unstructured Modelहै| इसलिए Information Search करना Tough होता है।
Structured Peer-to-Peer Model
यह को Software का use करके design किया गया है, जो Nodes को एक Specific Structure में रखने के लिए Virtual Layer Create करता है। इन्हें Setup करना आसान नहीं है, लेकिन Users को Content तक Easily Access Provide कर सकते हैं। Example के लिए, P-Grid, Kademlia आदि।
Hybrid Peer-to-Peer Model
यह Model, Peer-to-Peer Model और Client-Server Model का Combination है। यह Hybrid Network, Users को एक दूसरे के साथ Communication Stablish करने के लिए Central Server का use करता है।
Advantages of the Peer-to-Peer Model
- Easy to maintain: Peer-to-Peer model में Devices के बीच कोई Server नहीं होता है। इसलिए इस प्रकार के Network को Maintain रखना बहुत आसान होता है।
- Cost-effective: इस Model को किसी Specific Device के लिए किसी Special Server की आवश्यकता नहीं होती है| जिससे इसकी Cost कम हो जाती है। यह Network Operating System या Full-Time System Administrator की Service के use की Demand नहीं करता है।
- Easy file sharing: Peer-to-Peer Model, Long Distance पर File को Fast Transfer कर सकता है। जिस File को User किसी Location से Access कर सकते हैं।