惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
Scott Helme
Scott Helme
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
C
Cybersecurity and Infrastructure Security Agency CISA
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
J
Java Code Geeks
U
Unit 42
The GitHub Blog
The GitHub Blog
H
Help Net Security
T
Tenable Blog
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
Spread Privacy
Spread Privacy
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
L
Lohrmann on Cybersecurity
T
Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
I
InfoQ
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog
L
LINUX DO - 最新话题
K
Kaspersky official blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threat Research - Cisco Blogs
C
Check Point Blog
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
Y
Y Combinator Blog
N
News | PayPal Newsroom
M
MIT News - Artificial intelligence
Latest news
Latest news
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
I
Intezer
爱范儿
爱范儿
F
Fortinet All Blogs
P
Palo Alto Networks Blog
C
CERT Recently Published Vulnerability Notes

博客园 - 岁月无声

Spring Boot(3)---自定义spring boot starter 问题 那就开始吧---写在2014年8月 基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案) 从操作系统机制浅谈服务器及服务平台方案的选择 Node.JS平台上的数据库Redis,MongoDB,HBASE,MySQL Node.JS 模块,包管理与开发 Node.JS进行简单新技术分析及环境搭建 MongoDB (1)---复制集与sharding安装配置 MongoDB (5)---不仅仅是数据库 MongoDB (0)---写在前面 NoSQL--MongoDB选择 云平台综述 物联网(1)----手机NFC识别方案平台 快速建立一个手机网站 基于HTML5手机技术方案(如Phonegap)的调试方案 由NodeJS浅谈无敌的前端开发工程师 PHP调试环境 浅谈预演框架选择 最后的绝唱-----Symbian 最新的IDE开发环境搭建(Updated on 2011-03-07)
大话网站---从Hello World到高并发网站
岁月无声 · 2013-02-15 · via 博客园 - 岁月无声

偶得一空闲时,开始整理一些东西来与大家共享,为这个世界上IT苦旅的人节省一些时间。因为涉及较多内容,我会渐渐补充内容

一,选择:

     首先选择网站技术架构,如果我们不是做面向服务型,电子商务型网站或管理网站,我们一般不用考虑J2EE,SSH等方案,一般选择前端部分主要为PHP框架,后端采用多种语言及组件的混合结构来提供服务。

二,基本结构:

    1. Web服务:

         网上有很多关于Web服务器的选择,如果为将来的扩展及高并发做准备,最好是前端用Nginx,Nginx在反向代理,高并发的资源消耗上是很少的,而且文档虽没有Apache完善,但也至少比Lighttpd的文档多些,当然,Lighttpd性能在静态文件方面占优势,这里就不说太多这方面的分析了,容易让一般人产生困惑,这里就选择Nginx做Web服务,(随站网站流量增加,它会改变职能为前端代理及部分缓存工作,如果你采用AS式服务集群,它还会被当成主控服务器.进行一些负载策略的工作)

    2. 数据服务:

        如果我们不想花银子,用不起Oracle那些昂贵的方案(如Data Guard, Real Application Clusters, MAA(Maximum Availablity Architecture),但我们又想要较复杂的商务数据功能,那MySQL当然是首选了,不过不知道被oracle收购后,这样的日子还能过多久,不用担心,我们还有ProgreSQL,至于如今炒得火热的NoSQL数据库,大家不必报太高期望,我用过一些,这些数据库一般都是无事务机制,关系Join等功能都较弱,一般处理一些海量的非事务性数据还行.一般适合高 发网站里混合数据中心的一个存贮方式.

    3.数据备份

       不同的数据有不同的备份方式,一般要用脚本开发一些自动备份工具.定期备份,因为一开始还没有用到分布式的数据库系统,简单的周期性备份是必须的.一般数据库都有冷备份,热备份的命令,但还是要工具化它们,因为随着系统增长,维护工作越来越多,等到专门的维护小组成立时,可能一切都晚太多了.

   经过以上的方案分析与构建,一般会形成一个简单可运维的网站了.

三,第一次优化:

   1.代理:

       随着网站访问量上升,随之而来有很多问题出现:比如安全问题 ,有恶意攻击,垃圾式的访问, 还有网站主动安全策略SSL给服务器带来性能消耗过大问题.为了解决这些问题,同时我们还在灵活处理对高并发访问的分发,或者访问跳转,也就是常说的负载均衡策略的灵活实施,我们要在网站服务器上加上反向代理服务器,一般反向代理服务器能处理高并发的连接,性能优越,Nginx是较优选择.Nginx同时也支持高效的缓存机制.

   2.缓存:

      网站的访问一般资源可以分为静态化资源,动态化资源.静态化资源不是指静态网页,而提指最终响应数据变化周期长的资源.比如静态网页,比如一些索引目录性数据,比如通过动态网页访问的一些不常变化的资源,比如图片,音视频等素材性数据,旧的报表,字典性数据等,都可以看成静态化数据,这些数据完全不必每次都经过网站服务器去数据库里查找,再经过IO读取(当然,操作系统会对数据文件,及普通文件有OS级是的缓存,这个要等到后面分析),所以需要对这些数据进行缓存,缓存分为服务器式缓存及应用逻辑中的缓存两类,

    服务器式缓存就是代理的方式把静态资源生成后放到缓存服务器上,客户端直接从这些缓存服务器上取得数据,缓存服务器有很多开源实现,有老牌的Squid,Nginx也支持不错的缓存.缓存服务器一般都是在网站前端进行.这是缓存策略的一部分

    应用逻辑的缓存是在网站服务器的应用逻辑中.对一些数据进行缓存,以方便在逻辑处理中重复从数据库或存贮中去取得这些数据.这个层次缓存一般利用 memcached,Ncache,ehCache,OSCache等等.

   3.静态化:

四,第二次优化:

  1.分布式服务器集群

  2.分布式存贮

  a. 分布式文件

  b.分布式多媒体

  c.分布式数据库(Sharding,Cluster或集群)

五,第三次优化

  1.优化缓存及分布方式

  2.混合其它方案。

六,第四次

  1.日志分析。

  2.数据仓库

  3.搜索引擎,SEO

七,多层次运维: