Skip to main content

内容分发网络

内容分发网络Content delivery networkContent distribution network,常简写成CDN)是指一种通过互联网互相连接的电脑网络系统,提供高性能、可扩展性、及低成本的网络将内容传递给用户。

CDN的优点

CDN的总承载量可以比单一骨干最大的带宽还要大。这使得CDN可以承载的用户数量比起传统单一服务器多。也就是说,有100Gbits/sec处 理能力的服务器放在同样的数据中心,只有10Gbps/sec带宽就只能发挥出10Gbps/sec的承载量。但如果放到十个有10Gbps/sec的地 点,整个系统的承载量就可以到10*10Gbps/sec。
同时,将服务器放到不同地点,可以减少互连的流量,进而降低带宽成本。
对于TCP传输而 言,TCP的速度(throughput)会受到延迟时间(latency)与数据包漏失率(packet lost)影响。为了改善这些负面因素,CDN通常会指派较近、较顺畅的服务器节点将数据传输给用户。虽然距离并不是绝对因素,但这么做可以尽可能提高性 能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的视频)更容易推动。
CDN另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。
除此之外,CDN提供给服务提供者更多的控制权。提供服务的人可以针对客户、地区,或是其他因子调整。

技术

CDN节点会在多个地点,多个不同的网络上摆放。这些节点之间会动态的互相传输内容,对用户的下载行为优化,并借此减少内容供应者所需要的带宽成本,改善用户的下载速度,提高系统的稳定性。
CDN所需要的节点数量随着需求而不同,依照所需要服务的对象大小,有可能有数万台服务器。
使用Squid Cache可以创建一个CDN。



Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...