Chinaunix首页 | 论坛 | 博客
  • 博客访问: 859063
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: IT职场

2011-08-22 15:02:13

    某次面试,hire manager问我如何做一个大规模的网站,我把我所知道的都讲了,包括squid做的cdn cache等等,他又问我,你觉得cdn这部分有什么瓶颈吗?我当时只想到所有动静态请求都路过squid,只是苦苦想着如何去掉动态的请求,他接着问,如何实现?我当时真想不到办法了。后来突然想起看的介绍,实际上我也接触过的,域名分离即可。比如某client的某个请求包含http:/xxx.com,这里肯定包含了图片,css,html之类,也少不了动态脚本比如php,jsp等需要交互的sql查询,那么涉及到静态的部分,按照dns的策略,到squid上,走之前的路,而动态的直接回web源即可。
     这个也不是没有弊端,程序里涉及到静态资源连接如图片等一律写域名。比如
  • <?php

  • echo "this is sina corporation logo picture :";

  • ?>
  • ok,打开浏览器输入

        fine ,it works now,看到了sina的logo,以此类推,只需要遵守html语法规则,在你想要的地方插入图片url,而这图片放在另外的server上,有单独的domain,可以cname到cdn上,这样你打开,凡是需要查询的走10.1.1.1,涉及到图片的,直接走http协议到pic 服务器上取,好伟大的html啊。动静就这样分离了,唯一需要确认的就是图片的url要正确,可以在pic前面放api,专门查询后端的图片位置,仅此而已。

       再扩展一下:

    1. <?php
    2. $url="";
    3. echo "this is sina corporation logo picture :";

    4. ?>

    这样图片url确定了,少量的图片前端开发还能写上去,但成千上万张呢?还有这样固定了,也不方便扩展啊?如何来做?需要在pic前开一个API给前端调用,比如这里/home/deco/2009/0330/logo_home.gif可以记录在mysql,然后前端需要的时候,直接select 数据库查到图片的存储路径,然后拼接成$url给前端。

    就是sql=select * from pic_table where '条件=xxx';

    把查询结果/home/deco/2009/0330/logo_home.gif赋给$path

    拼凑新的url,$url="".$path;

    ok,图片链接完成。

    简述结束。

     

    阅读(2181) | 评论(0) | 转发(2) |
    给主人留下些什么吧!~~