「架构技术专题」作为java程序员的你还不知道网站架构的演化(2)?
说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程,通过一步步的演化,我们就可以清晰直观地知道,究竟为什么要这么做?
6、使用反向代理和CDN加上网站相应
提高网站的访问速度,主要手段有使用CDN和反向代理。
CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。
7、使用分布式文件系统和分布式数据库系统
任何强大的单一服务器都满足不了大型网站持续增长的业务需求。
分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上。
8、使用NoSQL和搜索引擎
搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。
9、业务拆分
大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。
具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。
10、分 布式服务
由于每一个应用系统都需要执行许多相同的业务操作,比如用户管理,session管理,那么可以将这些公用的业务提取出来,独立部署。
本公众号已开设如下专题,欢迎扫码或者长按以下二维码,查看相关专题!
【mysql优化专题】【HTTP协议】
【架构技术专题】【多线程/池专题】
【dubbo专题】【dubbo源码专题】
【JVM调优专题】【HTTP协议专题】
【设计模式专题】【高并发专题】
【架构技术专题】【netty专题】
【数据结构专题】【redis专题】
【spring源码】【springboot专题】
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python使用itchat获取微信好友
最近发现了一个好玩的包itchat,通过调用微信网页版的接口实现收发消息,获取好友信息等一些功能,各位可以移步itchat项目介绍查看详细信息。 目标: 获取好友列表 统计性别及城市分布 根据好友签名生成词云 获取好友信息 前文说了,itchat其实是调用微信网页版的接口,所以登陆的时候会弹出二维码进行登陆,然后通过itchat.get_friends获取好友信息就好了,相当简单。 # -*- coding: utf-8 -*- import itchat import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import warnings import jieba import re from scipy.misc import imread from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator itchat.login() #登陆网页版微信,需要手机扫码确认 warnings.filterwarnings("igno...
- 下一篇
SSH框架整合遇到的错误——Struts2.5 action跳转出现错误
错误信息如图: 刚开始以为是struts2的配置问题,就换了一下action的值,改成了login1之后才发现错误。 表单提交的跳转信息: Struts2.xml中的配置 UserAction.java中的配置 action的跳转方法不能有参数,手误写了参数,导致action找不到login1方法。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Red5直播服务器,属于Java语言的直播服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16