月度归档:11 月 2019

解决Centos 7中安装LAMP之后Apache无法解析php 我在Centos7系统上安装了Apache,PHP 之后.在输出phpinfo(),检测php脚本的时候,发现我的系统根本没有解析php脚本文件,但是html文件可以解析的。检测文件的用户 组权限,也没有问题,这就奇怪了。 可能是由于…

继续阅读

文章详情页的逻辑实现 文章详情页路由的设置 控制器页面的实现 视图文件页面的实现

文章模块数据列表页的实现 文章列表逻辑 建立模型 在/app/Http/Controllers/PostController.php 文件中引入 Post模型。 页面渲染:在视图中输出数据 时间格式:https://carbon.nesbot.com/docs/ 数据填充:https://githu…

继续阅读

秒杀系统的设计思路 特点:库存只有一份,所有人会在集中的时间读和写这些数据。但是最终成功的人却很少 思路:将请求尽量拦截在系统上游。 秒杀系统细节 浏览器层请求拦截 ,JS层面,限制用户在x秒之内只能提交一次请求。 站点层(webServer)请求拦截与页面缓存. 同一个uid,限制访问频度,做页面…

继续阅读

缓存 缓存是大型网站中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。适用于读多写少的场景。 从我们的使用角度来分,主要有: ①CDN缓存 ②反向代理缓存 ③分布式缓存 CDN缓存 CDN主要解决将数据缓存到离用户最近的位置,一般缓存静态资源文件(页面,脚本,图片,视频,文件等)。…

继续阅读

消息队列 消息队列常用的应用场景有哪些? 主要就是:应用解耦合、异步操作、流量削锋。 异步操作 应用解耦 流量削锋 常用的消息队列软件 RabbitMQ 使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业…

继续阅读

缓存的一致性哈希算法 问题: 在分布式集群中,对机器的添加删除,或者机器故障后自动脱离集群这些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,很多原有的数据就无法找到了。 一致性哈希算法是如何解决这个问题的? 环形Hash空间 按照常用的…

继续阅读

缓存与数据库一致性保证 问题来了: 当数据money发生变化的时候: ①是更新缓存中的数据,还是淘汰缓存中的数据呢? ②是先操纵数据库中的数据再操纵缓存中的数据,还是先操纵缓存中的数据再操纵数据库中的数据呢? 更新缓存 VS 淘汰缓存 问:数据变化时,到底是选择更新缓存还是淘汰缓存? 答:主要取决于…

继续阅读

用搜索引擎和缓存来缓解读库的压力 数据库做读库的话,常常对模糊查找力不从心,即使做了读写分离,这个问题还未能解决。 以我们所举的交易网站为例,经常根据商品的标题来查找对应的商品。对于这种需求,一般我们都是通过like功能来实现的,但是这种方式的代价非常大。此时我们可以使用搜索引擎的倒排索引来完成。 …

继续阅读

应用的拆分与服务化 随着业务的发展,应用越来越大。我们需要考虑如何避免让应用越来越臃肿。这就需要把应用拆开,从一个应用变为俩个甚至更多。 我们把公共的服务拆分出来,形成一种服务化的模式,简称SOA。 问题: ①SOA的优点是什么? ②SOA之间如何通信? 微服务架构 为什么要服务化(优点)? ①防止…

继续阅读

20/75