mysql 动静分离_如何动静分离?「建议收藏」

mysql 动静分离_如何动静分离?「建议收藏」某次面试,hiremanager问我如何做一个大规模的网站,我把我所知道的都讲了,包括squid做的cdncache等等,他又问我,你觉得cdn这部分有什么瓶颈吗?我当时只想到所有动静态请求都路过squid,只是苦苦想着如何去掉动态的请求,他接着问,如何实现?我当时真想不到办法了。后来突然想起看的介绍,实际上我也接触过的,域名分离即可。比如某client的某个请求包含http:/xxx.com…

大家好,又见面了,我是你们的朋友全栈君。

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

这个也不是没有弊端,程序里涉及到静态资源连接如图片等一律写域名。比如

echo “this is sina corporation logo picture :

f6d6d5bb0265c45f40a518b61bed208d.gif“;

?>

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

再扩展一下:

$url=”http://i3.sinaimg.cn/home/deco/2009/0330/logo_home.gif”;

echo “this is sina corporation logo picture :

%24url“;

?>

这样图片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=”http://i3.sinaimg.cn”.$path;

ok,图片链接完成。

简述结束。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131957.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 北京联通dns服务器位置,全国联通DNS服务器地址

    北京联通dns服务器位置,全国联通DNS服务器地址《全国联通DNS服务器地址》由会员分享,可在线阅读,更多相关《全国联通DNS服务器地址(5页珍藏版)》请在人人文库网上搜索。1、全国联通服务器DNS首尾地址124.161.97.234124.161.97.234四川省联通DNS服务器124.161.97.238124.161.97.238四川省联通DNS服务器124.161.97.242124.161.97.242四川省联通DNS服务器20…

  • pycharm激活成功教程激活码_Pycharm激活码

    pycharm激活成功教程激活码_Pycharm激活码方法一:【step1】双击桌面,打开安装好的软件图标:【step2】在弹出的界面中输入:在激活界面的Licenseserver输入:http://idea.liyang.io方法二:【step1】在浏览器中输入:http://idea.lanyus.com/打开如下页面:点击获得注册码【step2】无需修改用户名,点击获取注册码。复制该注册码,粘贴在注册界面的Activation

    2022年10月24日
  • C++11 decltype 的用法

    C++11 decltype 的用法文章目录decltype的意义decltype的用法1.推导规则2.举例说明3.模版案例更多细节问题C++14取消decltype其他decltype的意义参考博客:C++11新标准:decltype关键字有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了)。为了满足这一需求,C++11新标准引入了decl…

  • 【Ubuntu安装 Nginx】「建议收藏」

    【Ubuntu安装 Nginx】「建议收藏」ubuntu安装nginx目前支持两种安装方式,一种是apt-get的方式,另一种是根据包安装的方式为方便我统一使用root用户一、apt-get安装nginx切换至root用户sudosurootapt-getinstallnginx如果安装时遇到这种情况,就输入sudoaptupdate在重新输入安装命令即可。查看nginx是否安装成功nginx-v启动nginxservicenginxstart启动后,在网页重输入ip地址,即可看到nginx的欢

  • 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap

    错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap最近在使用eclipse编写java程序时遇到这样一个问题:错误在类中找不到main方法,请将main方法定义为publicstaticvoidmain(String[]args)否则JavaFX应用程序类必须扩展javafx.application.Application看到这样的问题让我一头雾水,因为main方法已经写出解决这个问题可以点开eclipse-&gt…

  • spring bean之间的关系:继承;依赖「建议收藏」

    spring bean之间的关系:继承;依赖

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号