做亿级流量网站开发如何设计出一个高性能架构

亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 课程基于真实的每日上亿流量的大型电商网站中的商品详情页系统,作为项目实战。详细讲解如何实现一个复杂的缓存系统架构,去直接支撑电商背景下的高并发与高性能的访问,同时基于缓存架构本身所处的复杂分布式系统架构环境下,如何设计与实现一个高可用的分布式系统架构。 阅读详情

下面我们来总结一下高性能架构的设计

高性能架构可以分为为计算高性能和存储高性能

计算高性能架构

高性能架构设计主要集中在两方面:
1、尽量提升单服务器的性能,将单服务器的性能发挥到极致 。
2、如果单服务器无法支撑性能,考虑服务器集群方案 。

单服务器高性能

单服务器高性能的关键之一就是服务器采取的网络编程模型,网络编程模型有如下两个关键设计点 :

1、服务器如何管理连接。
2、服务器如何处理请求 。

以上两个设计点最终都和操作系统的 I/O 模型及进程模型相关 。

1、1/0 模型:阻塞、非阻塞、同步 、异步
2、进程模型:单进程、 多进程、多线程。

常用的2种模型是

Reactor I/O多路复用 复用进程/线程 非阻塞同步,高性能

Proactor 异步 非阻塞异步 操作系统主动通知

集群高性能

高性能集群的本质很简单,通过增加更多的服务器来提升系统整体的计算能力。计算本身 存在一个特点:同样的输入数据和逻辑,无论在哪台服务器上执行,都应该得到相同的输出 。 因此高性能集群设计的复杂度主要体现在任务分配这部分

任务分配主要通过负载均衡来进行

不同的任务分配算法目标是不一样的,有的基于负载考虑、有的基于性能考虑、有的基于业务考虑

负载均衡类型

  • DNS负载均衡 简单成本低,更新有延迟,扩展性不高,策略简单
  • 硬件负载均衡 功能强大 性能强大 稳定性高 支持安全防护 价格高 扩展性低
  • 软件负载均衡 简单,便宜,扩展性好,性能一般,功能一般

负载均衡架构

  • 地理级别负载均衡
  • 集群级别负载均衡
  • 机器级别的负载均衡

负载均衡的算法

  • 任务平分类 平均分配
  • 负载均衡类 根据资源分配
  • 性能最优类 根据性能好的分配
  • Hash 类 相同id分配到同一台

存储高性能架构

mysql

mysql的高性能架构主要为读写分离和分库分表

读写分离 主要目的为 分散读压力 但是可能导致 主从一致性问题

分库分表 主要目的为分散写压力

问题是 无法join 导致分布式事务 查询复杂度提升(count join order by)

实现形式 主要有 通过代码封装 或者中间件实现

nosql

关系数据存在一些局限性

  • 无法存储数据结构
  • schema扩展不方便
  • I/0 性能低
  • 全文搜索 性能低

我们可以通过Nosql数据库来解决

  • K-V 存储 解决数据结构的问题
  • 文档数据库 解决schema扩展问题(场景 属性差异较大)
  • 列式数据集 解决IO问题 (场景 大数据统计)
  • 全文搜索引擎 解决全文搜索问题

缓存

需要经过复杂运算后得出的数据,存储系 统无能为力 。 读多写少 的数据,存储系统有心无力

缓存就是为了弥补存储系统在这些复杂业务场景下的不足 , 缓存的基本原理就是将可能重 复使用 的数据放到内存中 ,一次生成,多次使用, 避免每次使用都去访问存储系统。

缓存可能带来的问题

  • 缓存穿透
  • 缓存雪崩
  • 缓存热点

文章来源:https://my.oschina.net/jayqqaa12/blog/3161787

扩展阅读:https://www.roncoo.com/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84

京东高级工程师开发十年,终于总结出:“亿级流量网站架构核心技术”笔记 前言: 相信大家都知道,说起亿万流量网站高性框架的设计方案,就能想到关键的两点,那就是高可用和高并发。而要谈对高并发和高可用有多熟悉,京东的大佬们还是有一定发言权,而作为京东高级工程师更是大佬级别。 而今天分享的正是京东十年开发经验工程师编写的:“亿级流量网站架构核心技术”。 笔记作者:京东高级工程师:大飞 笔记特点:条理清晰,含图像化,内容创新深奥却易懂。 笔记大致分为四部分∶概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步 阅读详情

相关推荐

亿级流量架构核心技术与实践

负载均衡是现代IT架构中不可或缺的一环,其核心目的是为了在多个服务器之间有效地分配网络或应用流量,以提高系统的可用性、可靠性和扩展性。随着互联网应用的爆炸式增长,负载均衡技术已经从早期的简单硬件解决方案,演变成今天包含多种技术、多种层次的综合解决方案。缓存是一层存储数据的快速存取系统,它可以是内存中的RAM,也可以是基于磁盘的存储。在分布式系统中,缓存通常部署在网络中的各个节点上,以便快速地为客户端提供服务。微服务架构强调服务自治、业务能力分解、去中心化治理和容错性。

weixin_36231030的博客 880

高性能后台服务器架构设计

如何设计高性能的大型网站系统?在移动互联网时代,客户端应用开发本身,并不是体验的决胜之处,真正对团队挑战的地方,还在于后端,无论是承压能力,还是安全性等方面,如果这些地方过不了关,整个应用的基础是不扎实的。        提高服务器性能最简单粗暴的方式,就是增加机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是更有

mookat的专栏 2590

手把手教你用Qwen-7B打造医疗大模型:从数据准备到RLHF全流程实战

本文是一篇基于Qwen-7B-Chat模型构建医疗领域大模型的实战全流程指南。文章详细拆解了从数据准备、环境搭建,到增量预训练、监督微调(SFT)以及偏好对齐(DPO)的核心技术步骤,并分享了部署与持续优化的实践经验。通过LoRA等高效微调技术,帮助开发者掌握将通用大模型改造为专业领域专家的完整方法论。

weixin_29191761的博客 129

《亿级流量网站架构核心技术》总结

nginx后端节点健康检查 主要有三种实现方式: 1. 本身自带的ngx_http_proxy_module模块和ngx_http_upstream_module模块,属于惰性检测。 ngx_http_proxy_module:proxy_connect_timeout(与后端服务器建立连接的超时时间)、proxy_read_timeout(从后端服务器读取响应的超时)和proxy_next...

6866

水电站数字孪生:水力发电在可视化领域的应用

为智慧水坝领域提供了 B/S 架构的基于 WebGL 的图形引擎,与 GIS、粒子仿真、虚拟现实、边缘计算等技术相结合,融合多元业务系统数据,形成数字孪生界面,助力水利水电工程进一步提升数字化水平,乃至为整个工业领域添砖加瓦。

二三维数据可视化/数字孪生 2255

基于FSL的DTI数据预处理流程

最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流。如果有错误的地方欢迎大家指正!        我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同。   原始数据:包括3DT1数据和高分辨率DTI数据,均是dicom格式。 工具:MRICRON和FSL,所有的命令均在Linux的终端中运行。   1.格式转换:将后缀名为dcm

zaza_zaza的博客 2万+

Netty--高性能架构设计

Netty 一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网路IO程序; 主要针对TCP协议下,面向clients端的高并发应用,或者大量数据传输的应用; 本质是一个NIO框架,适用于服务器通信相关的多种应用场景; ...

neei的博客 399

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 416

大规模流量的网站架构

大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决方案之上。希望这篇文章能够为技术人员提供一定的参考和帮助。  以下为原文 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这

JackieLiuLixi的专栏 2544

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 434

Spring Boot日志可视化实战:5分钟搞定Promtail采集与Grafana查询(避坑指南)

本文详细介绍了如何通过Promtail和Grafana实现Spring Boot日志的可视化查询,提供从日志采集到高效查询的全流程实战指南,重点解决部署中的常见问题。内容包括Logback配置、Promtail日志采集、Grafana的LogQL查询技巧及生产环境优化建议,帮助开发者快速定位和解决日志问题。

weixin_42526015的博客 106

亿级流量网站架构技术笔记

一、常见的原则 1、高并发原则 无状态 如以前使用session机制,现在转变为使用jwt或者token机制 拆分 如应用服务的拆分 服务化 消息队列 数据异构 如:将数据同步到es,使用es提高模糊搜索的效率等 缓存银弹 如:将常用的数据进行缓存。 并发化 对一些可以并行处理的逻辑,进行并发化的处理。 2、高可用原则 降级、限流、切流量、可回滚 3、业务设计原则 防重设计 幂等设计 流程可定义 状态与状态机 后台系统操作可反馈 后台系统审批化 二、高可用工

迷途的小兵 369

手游功耗优化:从猜想到硬核实测

功耗本质是“硬件在吃电”,要看电流/功率曲线,而不是只看帧率和温度;定量 = 有数字、有曲线、有对比能说“降了 15%”、“峰值从 7W 降到 5.5W”,而不是“我感觉凉快点”;工具方面:大厂会用外接功率仪 + 手机/芯片厂内部平台;平时也会用 Android/iOS/引擎自带的工具做趋势分析;流程上:选典型机型和场景 → 跑脚本采集 → 对齐 Profiler 数据 → 分析 CPU/GPU/网络谁在吃电;再通过版本对比、画质/帧率组合测试,指导配置和优化。这是一个。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 179

亿级流量系统架构设计与实战

设计和实现亿级流量的系统架构需要遵循高可用性、可扩展性、高性能和安全性的原则,并结合负载均衡、分布式缓存、数据库分片、消息队列、微服务架构等关键技术。在实战中,通过合理的架构设计、性能优化和安全措施,可以有效应对亿级流量带来的挑战,确保系统的稳定性和可靠性。通过本文的介绍,读者可以了解到如何从架构设计原则出发,结合实际案例中的具体技术实现,构建一个能够处理亿级流量的高可用、高性能的系统架构。

努力是为了站在万人之中,成为别人的光 2万+

【拼多多笔试题汇总】2024-03-24-拼多多春招笔试题

A 小镇上有个奇特的游戏。游戏开始时,A 先生准备了一排 nnn 个物品。K 小姐和卢小姐则轮流进行操作。首先,K 小姐可以选择移除至多 xxx 个物品。接着,卢小姐也可以选择移除剩余物品中的至多 yyy 个。游戏的目标是,K 小姐想尽量让剩余物品的价值之和最大化,而卢小姐则想将剩余物品的价值之和最小化。假设两人都采取最优策略,请问最后剩余物品的价值之和是多少?第一行包含五个正整数 n,m,k,x,yn, m, k, x, yn,m,k,x,y,分别表示物品的总数、K 小姐最多可移除的物品数、卢小姐最多可移

春秋招笔试突围 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

亿级流量网站架构核心技术 pdf_高扩展、高可用、高性能时代,亿级流量网站的架构核心技术开源...

这份笔记高屋建瓴,抓住了大型高并发网站设计的核心,从设计原则,到高性能、高吞吐量、高可用的系统设计,到高灵敏的监控系统构思、再到应急方案的制定,不失细节,又不拘泥于细节。这份笔记总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。笔记分为四部分:概述、高可用原则、高并发原则、案例实战,从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩...

weixin_39765339的博客 614

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

网站流量从100PV到1亿级PV网站架构演变

个人网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。   1:积累是必不可少的,架构师不是一天练成的。   1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码

3143

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

亿级流量网站架构核心技术_大赞!资深T9专家全新打造京东双11亿级网站架构系统手册...

前言经历过“双11”和“618”的同学都知道,在大促时如何保证系统的高并发 、高可用是非常重要的事情。因此在备战大促时,有些通用原则和经验可以帮助我们在遇到高并发时,构建更可用的系统,如限流、降级、水平扩展和隔离解耦等。通过这些原则可以在流量超预期时,很好地保护系统,避免冲击导致的系统不可用。其实,经过这么多年的沉淀,京东早已摆脱“不行就加机器”的野蛮扩张阶段,今天的京东技术人有着丰富的大流量应对...

weixin_39793813的博客 125

亿级流量java高并发与网络编程实战 pdf_京东首席系统架构师教你如何搭建高可用高并发系统架构...

今年的618年中购物狂欢节已经过去快一个月了,那么各大电商平台的网站架构师、开发人员是如何经过“618”、“双11”的亿级大考的呢?建亿级流量网站的高并发、高可用的一系列复杂问题是怎么实现的呢?我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件...

weixin_39752087的博客 1483

高扩展、高可用、高性能时代,亿级流量网站的架构核心技术开源

1. 交易型系统设计的一些原则2. 高并发原则无状态拆分服务化消息队列数据异构缓存银弹并发化降级限流切流量可回滚防重设计幂等设计流程可定义状态与状态机后台系统操作可反馈后台系统审批化文档和注释备份。...

m0_71777195的博客 632

京东高级工程师开发十年,编写出:“亿级流量网站架构核心技术”

1. 交易型系统设计的一些原则2. 高并发原则无状态拆分服务化消息队列数据异构缓存银弹并发化降级限流切流量可回滚防重设计幂等设计流程可定义状态与状态机后台系统操作可反馈后台系统审批化文档和注释备份。

java_beautiful的博客 188

亿级流量网站架构核心技术_亿级流量系统架构之如何设计承载百亿流量的高性能架构...

百亿流量的高并发技术挑战我们面对的是日益增多和复杂的各种业务系统,我们面对的是不断增加的系统用户,我们面对的是即将迎来每天百亿级的高并发流量。给大家先说下当时的系统部署情况,数据库那块一共部署了8主8从,也就是16台数据库服务器,每个库都是部署在独立的数据库服务器上的,而且全部用的是物理机,机器的配置,如果没记错的话,应该是32核+128G+SSD固态硬盘。为啥要搞这么多物理机,而且全部都是高配置...

weixin_39989941的博客 290

和阿里P7架构师一起谈谈亿级流量核心架构,搭建高可用高并发系统

写在前面 现在很多企业都陆陆续续的正在复工,很多程序员要抓住银四的小尾巴,但是如果技术不过关一切都是枉然,宅在家整理了一份亿级流量网站架构核心技术。覆盖了高可用、高并发、隔离、限流、负载均衡与反向代理、多级缓存、应用级缓存、HTTP缓存、案例、如何扩容等大量知识点。今天小编就分享给大家,希望对你们有用。 本书分为四部分:概述、高可用原则、高并发原则、案例实战,从负载均衡、限流、降级、隔离...

如果频繁就私信一下呢 680
上一篇: 微服务架构大型电商项目开发流程及技术实战
下一篇: 在 Spring Boot 中使用 Dataway 配置数据查询接口
java_66666
博客等级 码龄10年 339粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值