「架构技术专题」作为java程序员的你还不知道网站架构的演化(2)?

简介: 说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程,通过一步步的演化,我们就可以清晰直观地知道,究竟为什么要这么做? 6、使用反向代理和CDN加上网站相应 提高网站的访问速度,主要手段有使用CDN和反向代理。
+关注继续查看

说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程,通过一步步的演化,我们就可以清晰直观地知道,究竟为什么要这么做?

6、使用反向代理和CDN加上网站相应

提高网站的访问速度,主要手段有使用CDN和反向代理。

CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。

7、使用分布式文件系统和分布式数据库系统

任何强大的单一服务器都满足不了大型网站持续增长的业务需求。

分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上。

8、使用NoSQL和搜索引擎

搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

9、业务拆分

大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。

具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

10、分 布式服务

由于每一个应用系统都需要执行许多相同的业务操作,比如用户管理,session管理,那么可以将这些公用的业务提取出来,独立部署。

本公众号已开设如下专题,欢迎扫码或者长按以下二维码,查看相关专题!

【mysql优化专题】【HTTP协议】

【架构技术专题】【多线程/池专题】

【dubbo专题】【dubbo源码专题】

【JVM调优专题】【HTTP协议专题】

【设计模式专题】【高并发专题】

【架构技术专题】【netty专题】

【数据结构专题】【redis专题】

【spring源码】【springboot专题】

相关文章
|
7天前
|
消息中间件 Java Kafka
今年面试太难?我凭借这份Java架构面试指南,成功跳槽涨薪10K!
时光飞逝,转眼2023金九银十已经快结束了,最近内卷严重 跳槽=加薪 职场中加薪有个屡试不爽的方法,那就是跳槽 每每听到周围人跳槽就加薪30%,似乎给职场人一种错误的认知,跳槽就一定能加薪 在一定阶段内,能力足以撑起期望,会有合理涨幅 当处于瓶颈期,能力不足以支撑期望,期望破裂;很多人以为只是公司给不起钱,不能意识到能力和期望不对等 涨薪的几点原由: 1、购买你过往公司对你的培训成本 2、购买你过往项目的成功经验 3、弥补你的沉默和风险性成本(信任,成绩归零) 的确,在恰当的时间点跳槽能够合理涨薪,3年左右为最佳,这也是为何内部成长的职场人薪资普遍低于正常跳槽人30%左右的原因
|
15天前
|
Kubernetes Java 微服务
2023年全新java架构技术框架Quarkus实战神仙文档
Quarkus是一款有别于传统Java架构的新技术框架。它建立在我们熟知的技术栈上,使用了诸多成熟的技术,如JPA、JAX-RS、EclipseVert.x、Eclipse MicroProfile和CDI等,并将这些技术与Kubernetes紧密融合在一起。用户可以借助Kubernetes高效的调度运维能力,最大限度地节约资源。
|
22天前
|
前端开发 Java 程序员
阿里新年献礼:Java性能调优(独孤版),带你打造淘宝秒杀架构
高并发下如何设计秒杀系统?这是个高频面试题。虽然简简单单一句话,看似简单其实不然,这里面水很深,秒杀的整体架构可以概括为“稳、准、快”几个关键字,它所涉及的知识包含了从前端到后端。
|
25天前
|
消息中间件 Java 关系型数据库
爆冷门!阿里P8的这份高性能Java架构核心原理解析手册又被吹爆了
市面上讲Java框架的书很多,包括Sping Boot、Spring Cloud、Kafka等,但这些书通常只会让你技术的“量”增长,而“质”仍处于SSM的阶段。而且互联网上并没有体系化、结构化的提升技术的“质”的教材,于是我行动了起来,将我所学的架构思想与实现方式都放入本书中,将提升技术的“质”的方式分享给大家。
30 0
|
2月前
|
安全 Java
架构系列——java动态代理中的InvocationHandler和Proxy
架构系列——java动态代理中的InvocationHandler和Proxy
|
2月前
|
监控 安全 数据可视化
Java版B/S架构 智慧工地源码,PC、移动、数据可视化智慧大屏端源码,支持二次开发
技术架构:微服务 开发语言:Java 前端框架:Vue 后端框架:Spring Cloud 数 据 库:MySql 移 动 端:UniApp
61 0
|
2月前
|
监控 JavaScript 前端开发
【JAVA】基于微服务架构的智慧工地云平台源码带APP(springcloud+VUE+mysql+mybatis plus+redis)
智慧工地源码 后端:java + spring boot + mybatis plus + mysql + kafka+ redis + xxl-job + MQTT。 前端:vue + flutter。 智慧工地云平台,人机料法环是智慧工地中常用的概念,分别代表了人员、机械、材料、方法和环境。在施工过程中,通过有效地整合人员、机械设备、材料和工法等要素,并结合科学合理的管理手段,以实现高效、安全、环保和可持续的建筑施工。
|
2月前
|
缓存 监控 架构师
5年开发经验,看完这份37W字Java高性能架构,终于拿到架构师薪资
其实现在很多的开发人员并不能解决从架构的角度全方位地了解在Java编程过程中各阶段会出现的典型问题,更没办法深入到底层原理了解问题出现的原因! 且随着当下面试越来越深入到底层,如果大家对于底层的原理不了解的话,是很难做出一个很好的解答的,比如说我给大家讲解的多线程的知识,就是从计算机的组成原理最最最底层给大家开始讲的 这就有点扯远了,今天主要来学习的就是Java高性能架构,主要的分享目的还是说大家可以对大家对于进阶到架构师有一定的帮助。
|
3月前
|
存储 SpringCloudAlibaba 前端开发
【Java】什么是SOA架构?与微服务有什么关系?
【Java】什么是SOA架构?与微服务有什么关系?
149 0
|
3月前
|
消息中间件 缓存 运维
现阶段Java高可用集群架构与微服务架构的简单分析
可能大部分读者都在想,为什么在这以 dubbo、spring cloud 为代表的微服务时代,我们还要整理这种已经“过时”高可用集群架构? 本人工作上大部分团队都是7-15人编制的开发团队,对应的公司项目也大都是中小型项目,最大的项目 PV/UV 也就只有 10w/2w 。在这样的场景下,中小型公司一般都是创业起步没多久,大部分都需要本着“开源节流”、“以最小的成本把产出最大化”。微服务架构相比于高可用集群架构,个人理解,对于技术团队的成员编制相对要多一点,服务器部署成本相对也要高一点。
热门文章
最新文章
推荐文章
更多