Information Technology Reference
In-Depth Information
The current generation of CDN products, therefore, can act as a proxy. All requests go
through the CDN, which acts as a middle man, performing caching services, rewriting
HTML to be more efficient, and supporting other features.
CDNsnowcompeteonprice,geographiccoverage,andanever-growinglistofnewfea-
tures. Some CDNs specialize in a particular part of the world, either offering lower prices
forwebsitesthathaveusersonlyintheirpartoftheworld,orofferingspecialservicessuch
as being licensed to serve content in China from inside the Great Firewall of China (that
is, assisting clients with the difficult and complex censorship requirements placed on such
traffic).
New features include the ability to serve dynamic content, serve different content to
mobile devices, and provide security services. HTTPS (encrypted HTTP) service can be
complex and difficult to administer. Some CDNs can process the HTTPS connections on
yourbehalf,relievingyouofmanagingsuchcomplexity.Theconnectionbetweenyourweb
servers and the CDN can then use an easier-to-manage transport mechanism, or no encryp-
tion at all.
5.9 Summary
Most approaches to scaling fall under one ofthe axes ofthe AKF Scaling Cube. The x -axis
(horizontal scaling) is a power multiplier, cloning systems or increasing their capacities to
achieve greater performance. The y -axis (vertical scaling) scales by isolating transactions
by their type or scope, such as using read-only database replicas for read queries and se-
questering writes to the master database only. Finally, the z -axis (lookup-based scaling) is
about splitting data across servers so that the workload is distributed according to data us-
age or physical geography.
Sharding scales large databases by putting horizontal partitions of your database (rows)
on multiple servers, gaining the advantage of smaller indices and distributed queries. Rep-
licating the shards onto additional servers produces speed and reliability benefits, at the
cost of data freshness.
Another optimization for data retrieval is a cache, a comparatively small data store on
fast and/or expensive media. A cache aggregates recently requested data, performing up-
dates on itself when data that isn't in the cache is requested. Subsequent queries will then
go directly to the cache and an overall improvement in performance will be realized.
Threading and queueing give us the tools to deal with floods of requests, aggregating
themintoastructurethatallowsustoservicethemindividually.Contentdeliverynetworks
provide web-acceleration services, usually by caching content closer to the user.
Search WWH ::




Custom Search