1、Advanced Internet and Web Systems,C. Edward Chow,Advanced Internet & Web Systems,chow,2,Outline of the Talk,Syllabus Introduction to WWW Systems Survey of Web Cluster Systems Survey of Caching Techniques Server Selection and Load Balancing,Advanced Internet & Web Systems,chow,3,Introduction to WWW S
2、ystems,Web Client Browser,Web Server Hosting web pages,Web Authoring System create web pages,Publish web pages,Retrieving web pages using HTTP protocol,Internet,Web page: document written in HTML,Scanner,Video capture,Sound card,Advanced Internet & Web Systems,chow,4,What is Unique in WWW?,Hyperlink
3、: Use Hypertext Markup Language HTML to describe the document in ASCII text (extended to iso-8859-1) Naming scheme: Name object in the web with Universal Resource Locator (URL) with syntax: protocol:/domain_name/ HTTP: HyperText Transfer Protocol a simple request-response protocol for transferring H
4、TML documents ASCII text based (not binary, therefore easy to debug),Advanced Internet & Web Systems,chow,5,Web Authoring System,Text Editor: type in HTML and content HTML Editor: like normal word processor, user did not have know a lot about HTML syntax, e.g., Netscape Page Composer, MS Front Page
5、Front Page takes another step by providing templates and hyperlink management functions Dreamweaver allows site management (upload/download); editor understands PHP, XSLT, XML, CSS, JavaScript syntax. Most desktop publishing software and word processor have built-in converters to convert from their
6、internal format to HTML format. For example FrameMaker, Office2007,Advanced Internet & Web Systems,chow,6,Web Delivery Systems,Delivery web documents efficiently and reliably to the web clients. Content Distribution and Content Delivery Performance is decided by Web server performance Network path p
7、erformance Client browser performance. Use multiple physical servers (server farm), and multiple server farms in wide area. New generation of proxy servers/content switches emerge.,Advanced Internet & Web Systems,chow,7,Clients,Content Delivery Network (CDN),Host Server,Mind Spring,PSINet,Home,Huge
8、Requests,Server Crash,Slow Response,Clients,Clients,Advanced Internet & Web Systems,chow,8,Content Delivery Problems,http:/,Advanced Internet & Web Systems,chow,9,Use Client Cache/ Client Side Cache Server,Host Server,Mind Spring,PSINet,Sprint,Gloobix,Home,UUnet,Fewer Requests,Clients,Clients,Client
9、s,Client Cache,Client Side Cache Server,Fast Response,Advanced Internet & Web Systems,chow,10,Use Mirror Sites,Host Server,Mind Spring,PSINet,Home,Fast Response,Clients,Clients,Clients,Mirror Site,Mirror Site,Need improvement by guiding the selection of mirror servers with server load/network bandwi
10、dth measurement,Advanced Internet & Web Systems,chow,11,Edge Network Cache Servers,Host Server,Mind Spring,PSINet,Home,Fast Response,Clients,Clients,Clients,Client Cache,Mirror Site,Mirror Site,Edge Network Cache Server,Cache Server,Cache Server,Cache Server,Cache Server,Client Side Cache Server,Adv
11、anced Internet & Web Systems,chow,12,Architecture solutions for scalable Web-server systems (Fig. 1),Advanced Internet & Web Systems,chow,13,Fig. 2. Model architecture for a locally distributed Web system,Advanced Internet & Web Systems,chow,14,Fig. 3. Architecture of a cluster-based Web system,Adva
12、nced Internet & Web Systems,chow,15,Fig. 4. Architecture of a virtual Web cluster,Advanced Internet & Web Systems,chow,16,Fig. 5. Architecture of a distributed Web system,Advanced Internet & Web Systems,chow,17,Content Distribution,Secure, automate content/application distribution to single (multipl
13、e server)/wide area Internet sites. Provide replication, synchronization, staged rollout and roll back. With revision control, transmit only updates. User-defined file distribution profiles/rules,Advanced Internet & Web Systems,chow,18,Content Delivery Problem,Cache Location Problem: Where to put ca
14、che servers? How many are needed? When/where/how to push/delivery the content? How about dynamic content?,Advanced Internet & Web Systems,chow,19,Akamai Edge Delivery Service,Peering Bottleneck Problem: Access traffic evenly spread over 7400+ networks (no one over 5%; most 1%) Need to put edge serve
15、rs in many networks. Akamai delivers between 10-20% Internet traffic, 10B interactions/day. 1 hop to 85% of the worlds Internet users. http:/ http:/ Internet & Web Systems,chow,20,F5 Web System Product,Advanced Internet & Web Systems,chow,21,BIG/ip - Delivers High Availability,E-commerce - ensures s
16、ites are not only up-and-running, but taking orders Fault-tolerance - eliminates single points of failure Content Availability - verifies servers are responding with the correct content Directory & Authentication - load balance multiple directory and/or authentication services (LDAP, Radius, and NDS
17、) Portals/Search Engines Using EAV administrators perform key-word searches Legacy Systems - Load balance services to multiple interactive services Gateways Load balance gateways (SAA, SNA, etc.) E-mail (POP, IMAP, SendMail) - Balances traffic across a large number of mail servers,Advanced Internet
18、& Web Systems,chow,22,3DNS Intelligent Load Balancing,Intelligent Load Balancing QoS Load Balancing Quality of Service load balancing is the ability to select apply different load balancing methods for different users or request types Modes of Load Balancing Round Robin Ratio Least Connections Rando
19、m User-defined Quality-of-Service Round Trip Time Completion Rate (Packet Loss) BIG/ip Packet Rate Global Availability HOPS Topology Distribution Access Control LDNS Round Robin Dynamic Ratio E-Commerce,Advanced Internet & Web Systems,chow,23,GLOBAL-SITE Replicate Multiple Servers and Sites,File arc
20、hiving engine and scheduler for automated site and server replication BIG-IP controls server availability during replication and synchronization Gracefully shutdown for update update in group/scheduled manner FTP provides transferring files from GLOBAL-SITE to target servers (agent free, scalable) R
21、CE for source control No client side software Complete, turnkey system (appliance) (adapt from F5 presentation),Advanced Internet & Web Systems,chow,24,Intel NetStructure,Routing based on XML tag (e.g., given preferred treatment for buyers, large volume) http:/ Internet & Web Systems,chow,25,1. Comp
22、ared to SUN E450 server,Advanced Internet & Web Systems,chow,26,Simple Web Access Example: Step1,Someone requests a document using a browser (Web Client) on a computer connected to Internet On a browser window Type in a URL, http:/ Equivalent of %telnet craft.co.uk 80 out GET /survey/ HTTP/1.0 Here
23、is “carriage return” entered by pressing “enter”key The browser parses the URL, obtains domain name of url, craft.co.uk asks Domain Name Server (DNS) for translating the domain name to the IP address with IP address the client computer set up a HTTP connection to the server,Advanced Internet & Web S
24、ystems,chow,27,Computer Network,Local Area Network (LAN): a private-owned network within a single building or campus of up to a few kilometer in size (Tanenbaum). Wide Area Network (WAN): a network that spans a large geographical area, often a country or continent, and connects LANs or MANs. It cons
25、ists of transmission line (called circuits, channels, or trunks) and switching elements (called switching nodes, data switching exchanges or router).,DNS,web client,web server,DNS,Advanced Internet & Web Systems,chow,28,Protocol and Protocol Layer,A set of rules for achieving a global objective exer
26、cised by geographically distributed nodes. (Robert Gallager, Prof. EE MIT),Advanced Internet & Web Systems,chow,29,Protocol Data Encapsulation,Advanced Internet & Web Systems,chow,30,Internet Protocol Layer Interface,Advanced Internet & Web Systems,chow,31,Simple Web Access Example: Step2,Browser se
27、nds the following character string to server GET /survey/ HTTP/1.0 User-agent: Mosaic for X windows/2.4 Accept: text/plain Accept: text/html Accept: image/* httpd server parses the request according to HTTP protocol 1.0 interprets rest of the metainfo for browser capabilities Maps the /survey/ to c:
28、/InetPub/wwwroot/survey/default.htm a file path in its file system according to server configuration. retrieves c:/InetPub/wwwroot/survey/default.htm or index.html sends information back using HTTP/1.0 format,Advanced Internet & Web Systems,chow,32,Simple Web Access Example: Step3,Server replies inf
29、ormation using HTTP/1.0 format HTTP/1.0 200 Document follows Date: Tue, 19 Jan 1999 18:10:20 GMT Server: NCSA/1.5 Content-type: text/htmlNetcraft Web Server Survey Server close file, set certain timeout and wait for next subsequent requests, such as images/midi files referenced in the web page. (cal
30、led keep-alive connection). When time expires, disconnect the connection.,Advanced Internet & Web Systems,chow,33,Simple Web Access Example: Step3a,Browser send GET /sample.htm HTTP/1.0 Server replies HTTP/1.0 404 Object Not Found Content-Type: text/htmlHTTP/1.0 404 Object Not FoundServer close file
31、, network connection, wait for next request,Advanced Internet & Web Systems,chow,34,Simple Web Access Example: Step4,Browser receives http response, a web document with HTML tags, from the server. Browser parses/processes the HTML document, display the document content according the tags. When other
32、 images/audio/video data are referenced by tags, the browser initiates the retrieval of those data. Some of them will http requests to the same web servers. That is the reason why keep-alive connection improves the web server throughput. A URL request may trigger many http requests to several web se
33、rvers.,Advanced Internet & Web Systems,chow,35,HTTP,HTTP1.0/1.1 http:/www.w3.org/Protocols/rfc2068/rfc2068 A HTTP request consists of method: GET, HEAD, POST, PUT, DELETE, Universal Resource Identifier (URI) Protocol version other info to modify or supplement the request If-Modified-Since: (only ret
34、urn object if it is newer the date authorization: (user password or other authentication as required) accept: application/postscript,Advanced Internet & Web Systems,chow,36,HTTP Response,consists of status line (success or failure) HTTP/1.1 400 Bad Request 200 (Document Follow), 301 (Move Permanentl
35、y), 302 (Move Temporarily), 304 (Not Modified), 401 (Unauthorized), 402 (payment required), 403 (Forbidden), 404 (Not Found), 500 (server error) description of the information (metaheader) Server, Date, Content-Length, Content-Type, Content-Encoded, Last Modified actual info requested,Advanced Inter
36、net & Web Systems,chow,37,Content-Type: MIME Type,MIME Type File Extension text/plain txt, default (most server) text/html htm, html application/postscript ps application/ms-powerpoint ppt application/x-javascript js image/gif gif image/jpeg jpg audio/midi mid video/mpeg mpg x-world/x-vrml wrl,Advan
37、ced Internet & Web Systems,chow,38,Configure MIME Types,For supporting new mime types, both web server and web client may need to be reconfigured. For web server, Include new mime.type definition in the mime.types file of the configuration directory of the web server By default, most servers deliver
38、 unknown type as text/plain browser then may display them as “gibberish” Restart the web server For web client, Specify external viewer associated with the mime type Or, install the plug-in associate with the mime type,Advanced Internet & Web Systems,chow,39,Brief Survey of Web Servers,http:/www.w3c
39、.org/hypertext/WWW/Servers.html Jigsaw, http:/www.w3c.org/Jigsaw/ http:/ http:/ http:/craft.co.uk/Survey/ “Web Server Technologies” by Nancy J. Yeager and Robert E. McGrath, Morgan Kaufmann 1996.,Advanced Internet & Web Systems,chow,40,CGI Script Example,Client type http:/owl.uccs.edu/cgi-bin/chow/u
40、ptime.pl or click on Show the load on owl in a web page. uptime.pl #!/usr/bin/perl $UPTIME = /usr/ucb/uptime; select(STDOUT); $| =1; #make output unbufferedprint “Content-type: text/htmlnn“; if (-x $UPTIME) exec($UPTIME); else print “cannot find uptime command on this system.n“; exit(1); ,Advanced I
41、nternet & Web Systems,chow,41,CGI Script Example (Step 2),Web browser sends “GET /cgi-bin/chow/uptime.pl HTTP/1.0” to owl.uccs.edu httpd server at owl parses the request and discovers that a perl script needs to be executed. It locates the script in the file system. Create the execution environment
42、starting a process with appropriate shell environment variable set with STDIN from httpd program with STDOUT to httpd,Advanced Internet & Web Systems,chow,42,CGI Script Example (Step 3),uptime.pl generates Content-type: text/plain15:55 up 18 days, 7:15, 5 users, load average: 0.89, 0.81, 0.79 It was
43、 sent over STDOUT back to httpd httpd add HTTP/1.0 200 OK Server: Netscape-Communications/1.1 Date: Tuesday, 27-Jan-98 23:12:45 GMThttpd relays the text string back to the web browser,Advanced Internet & Web Systems,chow,43,What problems can occur?,How to detect a script running infinite loop? How t
44、o detect a hung script?,Advanced Internet & Web Systems,chow,44,Handle Multiple Requests,Cant afford sequential processing, since some requested documents are big. Three basic approaches: 1. Fork a new child process: Cloning a copy of httpd 2. Use multithread (if the OS or language support it) e.g.,
45、 IIS, Java Web Server, Jigsaw 3. Spread the load among several helper programs e.g., Apache Apache allows the starting , min, max # of child web server processes to be specified in a configuration file. It can dynamically adjust to the load.,Advanced Internet & Web Systems,chow,45,More than One Web
46、Service on the Same Server Platform,Run different/same httpd programs on different ports http:/www.server.org/intro.html (port 80 by default) http:/www.server.org:8080/intro.html (port 8080) http:/www.server.org:8081/intro.html (port 8081) They may have different document trees, content, and access
47、control, and serve different user groups (customer, sales, authorized) Note that running program at any port 1024 requires root privilege.,Advanced Internet & Web Systems,chow,46,Virtual Hosting,To allow one server to server requests with multiple IP addresses. It is a low cost option for clients that want own id and cannot afford a separate machine/connection. Hosting other domain names on the same machine. http:/ http:/ Require OS with virtual host support. Assign Multiple IP numbers to the same interface using the ifconfig command in UNIX or ipconfig in NT.,Advanced Internet & Web Systems,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1