网站架构

news/2024/5/13 16:16:09/文章来源:https://blog.csdn.net/liangyixin19800304/article/details/12245403

使用PHP开发一个门户站点,周期是三天,我差点想找个炸药包拿出来给叔闻一下。

在叔翘着二郎腿辱骂下,我终于带领一个小胖子在3天内完成了这个雏形。

由于备案还在申请中,所以只能用IP的方式看一下了。输入以下地址:http://114.80.201.40:8081/  查看。

很多功能还没有加载上去,前台使用了wp的一些优秀思想,既使用外挂插件的方式,把功能挂载上去。当然这个插件标准是我们自己设计的,有点丑,但是自己用绝对方便。

目前网站上的数据都是从外站抓取过来的。正式上线肯定要重写,防止被百度K站。

网站最主要的其实是后台,后台采用了叔“年轻时候“写的php版本的cms进行扩展。

偷偷的说:叔”年轻时候“写的代码真心很不错。现在咱就不说啥了。

网站整体分为三个主体部分:前台展现层(与后台数据层交互)+后台CMS(包含动态数据管理)+定时统计程序(带数据挖掘).三个主体都分布在不同服务器上。

(暂时测试时只在一台服务器上测试)

什么叫三层架构:这其实才是三层架构,现实生活中,没有把三层全部放在一个项目或者部署在同一台服务器上的。在大部分互联网门户中,其实没有UI层和控制器交互这一说,除非你有很多台很多台服务器。

简要说一下设计思路(部分思路)

一、后台

1、数据表集中管理。除了一些基本的系统表,业务表都要进行集中管理。不允许手工在数据库中随意创建。包括表和表之间的关联都要在一个模块中体现出来。这是cms的一个基本模块,最好是自己实现,没难度,就是繁琐一点,不过这块是叔以前写的,在我改了若干bug后正式可以用了。

数据表管理

2、建立数据源。什么数据源?其实就是根据规则自动拼接sql或者手工写sql或者存储过程或者视图,没什么好神秘的,上述功能完成后,基本的数据后台管理列表都可以自动生成查询界面.

数据表

3、建立模板引擎。什么叫模板引擎?其实就是绑定数据源之后,循环的、有自己简单语法的输出静态页面。像新闻这样的数据基本发布后很少会变,所以可以直接生成静态页面。

静态页面

4、建立缓存机制。像后面要开发的电商产品功能、图书连载、在线视频等。就不能使用cms生成纯静态页。机制复杂,这里不详细讲,我使用的memcached配上redis做消息推送,达到b2c的一种及时交互。当然,后面这种缓存机制和消息推送都要部署在另外一台服务器。

web服务器主要硬盘要大(读取速度要快),缓存服务器内存要大、数据挖掘程序cpu要强。三者配合,网站性能才能达到最高点。(注意:这是通用的一些网站产品不能灵活达到的,所以这是为什么不用现成cms搭建网站的原因)。3种类型服务器类型不一样,花费的钱也不一样。叔说创业节约花钱、理想消费、大把赚钱才是王道。

5、5回味了 

5、建立数据传送机制。由于前台和后台往往不会部署在一台服务器上,所以静态数据生成后要传输。这里我用的是ftp,目的就是为了方便,不玩高深的,那是浪费时间。

6、建立工作流机制。这个没啥好讲的,太普遍太简单,只是为了后台用的。

7、建立用户单点登录中转中心。

其实这个没有那种passort的功能,只是实现一个山寨的。对于相同的域,直接用cookie共享就可以。不同的站点使用传输凭据的方式验证(就是字符串嘛)。不过这个网站没有做到分销、分平台等,所以暂时不涉及,如果做到后面会讲。

前台

1、基本的页面统一分块分页面,做成后台解析的了的模板。前台理论上是用一个页面来加载所有功能。譬如有个load.php .。根据不同的模板不同的数据源来加载不同的数据,当然静态区域快数据直接就是include ,不要整复杂的。

web 服务器用的是apache。所以用.htaccess 文件来做伪静态。

2、注意脚本和样式单,尽可能的少引用,能合并就合并。少量的样式直接写在页面里,apache 弄个gzip压缩,很快。不要有一个功能就加载一个样式单或者js,会慢死的大哥们。

3、jquery 我这里用的是1.3。其实后面要换掉,体积太大,而且有bug.这里建议大家使用jquery 1.9。

4、前台譬如新闻点击量 用脚本来记录,不要在读取主数据时直接update。另外一些辅助字段不能塞在主表中。

5. 

5.。。。。。。 暂无。因为还没做完,后面再讲。

统计端

1、因为赶时髦,后台统计端,我用Go语言实现(注意:正规的写法应该是golang)

2\

2、统计端干嘛用?不要告诉我网站的很多数据都是靠即时取得。

譬如:

1、新闻日点击量、周点击量、月点击量都要通过定时任务来清零,重置。

2、新闻的评论数、评论回复数也需要后台统计和置入数据库

3、订单也是

4、数据关键字词标引也是

5、原文索引也是。

6、分词词汇也是

7、其他其他,凡是一切影响性能而又不需要及时展示的东东一律要通过 统计端在后台定时默默的执行。

最后,后面会怎么分布式部署。

1、静态新闻数据用nigx作为web中间件。2、现在使用的数据库mysql到时候会分开几块,变动少的数据表归一个库,变动大的归一个库,通用表归一个库。(但前提是叔的几台服务器到位了才能)

3、交互数据用apache绝对够了,加上memcached和redis 更OK了。

4、访问量大的时候把图片、css、样式单等归于一台服务器。

总之,做一个好的网站一定要循序渐进,好的架构设计固然重要。但是没必要才区区几百或几千访问量的时候就花费大时间设计无比复杂的架构,不然黄花菜都凉了,大家都饿死了没人跟咱谈架构。但是在做初步设计时一定要考虑到这些扩展,但不一定要去立马实现这些架构。(叔教的,我以前不是这么想的)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_849869.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《特别推荐》10套精美的免费网站后台管理系统模板

大部分的 Web 应用和动态网站都需要一个后台管理系统用于管理前台界面的信息展示以及用户信息。管理后台的设计虽然不像前台界面那样要求设计精美,但是也需要有清晰的管理模块划分,这样使用后台管理系统的人员才能够方便的进行操作和管理。下面收集了十款…

jeecms网站导航栏

采用jeecms建站的朋友都知道,jeecms网站导航栏是通过标签循环出来的,当栏目分多级时,或者顶级栏目下有多个子栏目时, jeecms系统默认自带的模板应用的标签并不是下拉的,很多用户想达到如jeecms官网导航栏下拉的效果&a…

瞬时响应:网站的高性能架构

瞬时响应:网站的高性能架构 什么叫高性能的网站? 两个网站性能架构设计方案:A方案和B方案,A方案在小于100个并发用户访问时,每个请求的响应时间是1秒,当并发请求达到200的时候,请求的响应时间…

大型网站--负载均衡架构

大型网站--负载均衡架构 2013-10-14 08:08 by 贤达, 7213 阅读, 32 评论, 收藏, 编辑 负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处…

网站压力测试工具Jmeter安装与使用

系统是Windows XP 配置此工具前,需要先在机器上安装jdk 如下是在jdk1.7的基础上配置的; 安装步骤如下: 第一步:解压apache-jmeter-2.8.zip文件至c盘,本文解压至C:\jmeter2.8目录下。 第二步:桌面上选择“我…

开发者必备:测试网站速度的五个免费在线工具

如果你认为一个网站建成后,工作就已经完成,你就大错特错了。你需要不断监测其可用性和可访问性,一个小问题,可能毁了一切。而网页载入速度对于一个网站来讲至关重要,试想一下,你喜欢进一个需要很长时间才载…

你想建设一个能承受500万PV/每天的网站吗?如果计算呢?

http://elf8848.iteye.com/blog/967049 你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢? PV是什么: PV是page view的简写。PV是指页面的访问次数&#…

css php 网站设计,HTML,CSS,PHP和JavaScript –网站设计

网站设计的支柱一直以来,软件工程都是艺术与科学的融合。计算机的发展见证了许多编程语言的发展。大量的Web编程语言尤其会使新手感到困惑。如果您是新手,则不必担心,因为本文将告诉您构建美观且功能强大的网站所需的语言。HTML和CSSHTML代表…

非分页缓冲池内存不足 Httperr.log 文件中记录消息和Connections_refused 网站不能打开

非分页缓冲池内存不足 Httperr.log 文件中记录消息和"Connections_refused" 问题描述: server2003的iis 运行一段时间后莫名其妙的就不能打开了?然后重启iis都不行,然后重新注册iis以及重启服务器就恢复了 解决方案:…

10分钟建个人网站 - Amazon Lightsail

终于决定开始创建自己的个人网站。我在这方面的经验和知识,几乎为零。因此。还是主要靠Google和别人的文章做指导。鼓捣了一会儿,成功了,为各位朋友总结一下。也算是我的第一篇博文。 目标:建一个非常简单的,朴素的个…

分享一个学习php的网站

http://www.phptherightway.com/

用加密锁实现网站身份认证

精锐5加密锁身份认证方案简介 精锐5 身份认证“组件”(Virbox WebServer),是一个运行在用户计算机的本地 Web 服务(不需要访问互联网),提供 Web 接口访问精锐5加密锁,B/S 架构的 Web 应用只需在…

SpringBoot业务网站集成企业微信扫码登录实战-保姆级指导教程

TL;DR; Show you the code: WeComScanToLoginDemo 最近遇到需要集成企业微信扫码登录的需求,看了企业微信提供的说明文档 ,看了很多博客感觉讲得都不够详细,所以打算结合代码和自己的配置经历提供一篇保姆级的企业微信扫码登录教程。 交互时…

个人小破网站从无到有的过程python-flask-mysql

最终界面 先看下效果,UI有些简陋,内容有些low,不过网站是从无到有了,功能目的会以后学习再修改! 服务器网站开发 python-flask框架很容易上手,导入模块,几行代码即可实现访问!如…

购物车网站的自定义框架实现

首先要收一下这个自定义框架,是别人实现的,适合初学者使用,仿照Struts的框架原理,将servlet的访问通过类反射全部封装了,不需要向上一个图书管理项目那样写servlet了,框架就是源码里org包下的内容&#xff…

ssh2项目之自己想的购物网站

想着把零碎的整理一下,合成一个完整的,虽然做完还是很简陋的项目 哎呀,这样一个小练手的项目,我居然做了七天,天哪,先大概回想一下有哪些需求 工具:tomcat /weblogic myeclipse mysql 数据…

学习笔记--HIVE网站日志统计分析

前言 本次实践的目的是结合之前所学flume、hadoop、hive几个主要技术,完成一个小案例。 目标: 统计出独立ip数量 统计一个ip使用的header数量 访问最多的url链接 每个ip常访问的url 单日每小时访问量折线图 准备 安装并配置好flume、hadoop、hive hiv…

站长利器site24x7(网站监视器)

俗话说工欲善其事必先利其器,今天发现的这个小网站确实帮了不小的忙,特别是对于那些整天都需要跟好几个网站打交道的站长来说,有了这个小工具,以后您只在轻轻一点收email,一切情况搞定.1、首先进去网站:http://site24x7.com,点击“Sign Up”. 如下图&…

node.js 建站学习日记(一)

打算用腾讯云做一个node.js 第一天先想好选用技术为node.jsmongodb,mongodb中的nosql(非关系型数据库)更加适合处理大数据,是时代趋势吧 windows下node.js的配置相当简单。。在官网下一个安装包,直接安装就好了,连环…

css常用布局网站。

http://www.intensivstation.ch/en/templates/ 常用的两栏,三栏布局都有,基于XHTML 1.0 and CSS2. http://www.oswd.org/ 免费模板 http://www.ibm.com/developerworks/cn/web/wa-freeweb/ 获取 Web 设计的免费资源 介绍了很多资源。