架构和性能优化的核心原则(康神sf讲座学习笔记)
其实架构性能优化的核心就是分,分为分离、分层、分布。
分离
动静分离
静态资源、动态页面的分离
比如,一个页面有很多静态图片,静态的图片、动态数据、静态CSS、js,图片一般用cdn,但静态资源在使用域名的时候,尽可能使用多个静态域名,因为浏览器一般有限制,会限制同一个域名下的并行请求树,比如一共4张图片,这两张用一个域名,另外两张图片用另外一个域名,加快加载速度
读写分离
Mysql主从
Nosql主从
业务分离
数据分库
尽可能把同一个相关的业务放在一个库里,但是在联合查询可能会出现问题,这方面需要详细考虑
集群分离
比如邮件使用一台服务器,附件上传使用一台服务器....
服务化
分层
硬件部署分层
比如从前端进来,有Nginx,然后是web服务器,然后是缓存服务器,然后数据库服务器,负载均衡
业务代码分层
比如mvc
数据分层
比如多级缓存,一个请求的多层缓存,本地缓存、redis、数据库等
cdn
分布
分布式数据库
分布式缓存
分布式存储
分布式计算
可以理解为运算,比如gearman
架构和性能优化的核心原则(康神sf讲座学习笔记)的更多相关文章
- 什么叫集群、分布式,分布式与集群有什么区别?(康神sf讲座学习笔记)
集群是物理形态,分布式是工作方式. 只要一堆机器放在那里,就是集群.比如Nginx后面的十台服务器,就是一个集群 分布式将任务放在多个物理隔离的节点上进行. 分布式中各个子节点互不通信,统一受管控中心 ...
- iOS应用千万级架构:性能优化与卡顿监控
CPU和GPU 在屏幕成像的过程中,CPU和GPU起着至关重要的作用 CPU(Central Processing Unit,中央处理器) 对象的创建和销毁.对象属性的调整.布局计算.文本的计算和排版 ...
- .NET 云原生架构师训练营(模块二 基础巩固 安全)--学习笔记
2.8 安全 认证 VS 授权 ASP .NET Core 认证授权中间件 认证 JWT 认证 授权 认证 VS 授权 认证是一个识别用户是谁的过程 授权是一个决定用户可以干什么的过程 401 Una ...
- .NET 云原生架构师训练营(权限系统 RGCA 开发任务)--学习笔记
目录 目标 模块拆分 OPM 开发任务 目标 基于上一讲的模块划分做一个任务拆解,根据任务拆解实现功能 模块拆分 模块划分已经完成了边界的划分,边界内外职责清晰 OPM 根据模块拆分画出 OPM(Ob ...
- .NET 云原生架构师训练营(权限系统 代码实现 ActionAccess)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Secu ...
- .NET 云原生架构师训练营(权限系统 代码实现 EntityAccess)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Secu ...
- .NET 云原生架构师训练营(权限系统 代码实现 Identity)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Secu ...
- .NET 云原生架构师训练营(权限系统 代码实现 WebApplication)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.WebA ...
- .NET 云原生架构师训练营(权限系统 系统演示 ActionAccess)--学习笔记
目录 模块拆分 环境配置 默认用户 ActionAccess 模块拆分 环境配置 mysql migration mysql docker pull mysql docker run -p 3306: ...
随机推荐
- T49
明天参加媳妇朋友的婚礼.今天晚上的火车,下班后匆忙的打了个的,正好到的哥交接班的时间拦了几辆车都不拉火车站!无奈-五分钟后打上车接上媳妇去火车站!正值五中学生放假路上各种堵!安阳这四线城市什么时候变的 ...
- poj3264 balanced lineup【线段树】
For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One d ...
- 计蒜客 31460 - Ryuji doesn't want to study - [线段树][2018ICPC徐州网络预赛H题]
题目链接:https://nanti.jisuanke.com/t/31460 Ryuji is not a good student, and he doesn't want to study. B ...
- HDU 1281 - 棋盘游戏 - [二分图最大匹配]
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1281 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 启用yarn日志聚集功能
在yarn-site.xml配置文件中添加如下内容: ##开启日志聚集功能 <property> <name>yarn.log-ag ...
- Pymongo NotMasterError while fetching count of the collection as per query from MongoDB in DRF
django rest framework - Pymongo NotMasterError while fetching count of the collection as per query f ...
- gitlab svlogd runsv 基于Rotated Log的日志统计
小结: 1. 日志轮询 log roate 日志文件自动转存和重命名 2. rotated log独立于其他模块,可以以静态库或者动态库的形式支持二次开发: 3. [root@d1 ~]# gitla ...
- ubuntu/debian ia-libs
ubuntu 14.04强制安装ia32-libs 1.切换到root权限sudo -i 或 sudo su2.进入apt源列表cd /etc/apt/sources.list.d3.添加ubuntu ...
- android udev
http://www.freesoftwaremagazine.com/articles/drivers_linux http://blog.csdn.net/jianchi88/article/de ...
- 币安Binance API Websocket
本文介绍币安Binance API Websocket General WSS information The base endpoint is: wss://stream.binance.com:9 ...