不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简图:
在传统B/S架构的企业管理系统里,技术架构往往就是一个工程项目,各个逻辑分层都是该工程的业务逻辑模块。但是作为提供公共服务的网站,由于用户群比较庞大,网站并发量高,需求变化大,变更频繁以及网站出于对安全的考虑,以上的逻辑分层在技术架构上的实现也就会复杂的多。本人前不久做一个网站,我设计的技术架构简图如下:
我把网站项目拆分为三个子项目:前端项目、服务端项目和memcache项目,前端项目包含页面、静态资源和控制层;服务端项目包含业务层和数据库操作层;memcache项目缓存前端项目和服务端项目公用的数据。
在系统部署上,前端项目和服务端项目都采用分布式方式(我们的网站前端是4台服务器,服务端是4台服务器),用户请求进入前先通过负载均衡设备进行请求分发,前端和服务端之间以及服务端和数据库之间有防火墙保证系统的安全性,前端的集群和服务端集群分属到不同网络环境里,前端集群可以访问外网,服务端集群和数据库所在网络不能直接访问外网,但是前端网络环境和服务端网络环境之间可以进行通信。
服务端和客户端用我们自定义的报文进行通讯,传输协议时http,由于本人所在的网站安全性要求比较高,用户传输的请求协议使用https。为了保证服务端和客户端通讯的效率,客户端和服务端通讯我们使用长连接(我们网站服务端语言选择的是java,通讯层使用netty框架开发的),为了保证长连接,我们写了一个心跳检测服务,该服务在后台线程里运行,每个5分钟检测一次心跳,当然检测的间隔时间是可以配置的。此外,我们事先估计过网站的最大并发量,在网站启动时候,我们构建了一个线程池(我们使用的服务器是8核处理器,每核最大线程数256,所以我们线程池里总共的最大线程总数数是8*256*4=8196),每个线程处理一个用户的请求。
由于客户端项目采取分布式部署,因此存在session共享的问题,我们网站的session共享没有使用web容器自带的session共享机制,而是我们自己研发了一套session机制,原理很简单,具体是我们会对每个用户会话生成一个唯一标示,我们的唯一标示是这么设计:当前用户的session的id值+随机16位数字和字母组合+当前的纳秒值,然后将该值哈希算出一个key,原有保存在session里的值保存在memcache集群里,这些数据的key就是我们算出的用户唯一标示。最终我们网站前端不在使用session对象,而是我们自己设计的session机制,对此我们还封装了一套自定义标签,在页面上操作我们自定义的session。
服务端也有类似的共享机制,但是有所不同,当客户端请求服务端时候,请求会具体落到服务端的某一台服务器,因为本网站有些请求处理时异步的,也就是说客户某些请求不是立即返回给用户,而是现将请求分发给服务端,此时客户端会返回用户一个相应标示,说明该请求已经被受理,正在处理中,而服务端的某个线程此时已经开始处理了该请求,客户端按一定时间间隔发送请求给服务端,问询请求是否处理完成,但是服务端也是分布式,请求时随机发送,客户端的问询可能会分发到别的服务器,因此这样的请求,我会在客户端记录下处理的服务端ip地址和线程id,在问询的时候就会访问指定好的服务器和线程,直到请求处理完毕,最后关闭询问,将结果返回给用户。
由于我们把一个网站项目拆分成了三个独立项目,因此在项目管理和协调上增加了难度,所以我们引入maven框架对工程进行了管理和构建,同时构建一个common工程,专门负责服务端和前端公共程序的开发。
本框架将展示层和业务处理层彻底分开,因此客户端工程师可以专心做客户端,服务端工程师专心做服务端,大家只要学习如何封装通讯协议就行,因此很利于项目组人员的横向扩展。
以上就是本人为公司网站设计的技术架构,这里和大伙分享下,不知道好不好,希望各位大牛能给点建设性的意见。
网站建设是一个广义的术语
网站建设是一个广义的术语
网站建设是指使用标识语言(markuplanguage),通过一系列设计、建模、和执行的过程将电子格式的信息通过互联网传输,较终以图形用户界面(GUI)的形式被用户所浏览。简单来说,网页设计的目的就是产生网站。简单的信息如文字,图片(GIF,JPEG,PNG)和表格,都可以通过使超文件标示语言、可扩展超文本标记语言等标示语言放置到网站页面上。而更复杂的信息如矢量图形、动画、视频、声频等多媒体档案则需要插件程序来运行,同样地它们亦需要标示语言移植在网站内。
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。不同领域的网页设计,网页图形设计,界面设计,创作,其中包括标准化的代码和专有软件,用户体验设计和搜索引擎优化。许多人常常会分为若干个工作小组,负责网站不同方面的设计。网页设计是设计过程的前端(客户端),通常用来描述的网站,并不是简单的一个页面,一个网站是包括很多工作的,其中包括域名注册设计效果图,布局页面,写代码等工作。
互联网作为一种全天候24小时不间断的媒体平台是传统媒体可望不可及的。作为一个企业,在互联网上建立自己的网站,较显而易见的就是可以向世界展示自己的企业风采,让更多人了解自己的企业,使企业能够在公众知名度上有一定的提升。
在一个有相对规模的企业中,信息流、物流、资金流的管理应该有一个比较规范和科学的流程。而网络的出现,恰恰满足了这种业务管理自动化的需要。在这里,网络在提高效率,比如内部新闻通告,订货管理,客户管理,采购管理,员工管理等等许多繁杂的工作都可以在互联网和局域网上很轻松地完成。???
信息转载自网络,更多相关信息请点击:精细搜索营销http:///wlyx/ssyx/
相关文章
热门标签
-
"穷游网"的成长历史,个人网站缓慢成为大企业 网站被黑的类型有哪些?
2024-03-21 18:09
-
美国外卖网站Grubhub IPO路演PPT注释 你的网站内容是如何刻画的?
2024-03-21 18:09
-
,美国七大外卖O2O网站介绍 网站的URL途径怎么设置
2024-03-21 18:09
-
社交网站用户的十大心理怪习 网站改版时需留意的要素
2024-03-21 18:09
-
SNS社交网站用户的十大心理怪习 网站被降权应该怎么办?
2024-03-21 18:09
-
移动互联网时代,网站已成过去,门户地位尽失,移动报道“新闻”成主流 网站定制开发的优点都有哪些呢?
2024-03-21 18:09
-
国外20个优秀的移动(iPhone)网站设计 网站没有收录到底是什么原因?
2024-03-21 18:09
-
9个企业移动应用,或移动网站须知(英文版) 企业自建网站的优势和缺点
2024-03-21 18:09
-
网站优化robots与nofollow有哪些差异 浅谈典型的网站优化战略
2024-03-21 18:09
-
行之有效的提炼与优化关键词的方法 网站的单页面怎么做优化?
2024-03-21 18:09
-
网站优化推广三个阶段 网站内链如何优化
2024-03-21 18:09
-
为什么网站排名越优化越往下掉? 分析企业网站设计优化技巧
2024-03-21 18:09
-
优化网页代码的时候要注意地方 网站图片优化目的和操作
2024-03-21 18:09
-
网站优化文章写作原则 网站优化怎么做更有效?
2024-03-21 18:09
-
如何有利于保持网站优化的长久性 网站优化报价与思路分析
2024-03-21 18:09
-
站内锚文本优化的细节 优化新网站时需要注意的细节部分
2024-03-21 18:09
-
应该从哪些方面进行优化用户体验 网站优化长尾词的排名该怎样去提升
2024-03-21 18:09
-
网站推广做好目录以及页面优化很有必要 网站优化的四大重点
2024-03-21 18:09
-
网站推广优化过程中排名不好是什么原因? 关键词优化有哪些细节需要注意?
2024-03-21 18:09
-
网站优化中必定要避免的几点 打造本身的网站优化的案例解析
2024-03-21 18:09