高性能架构设计总结
Posted 互联网技术到家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高性能架构设计总结相关的知识,希望对你有一定的参考价值。
策划:ant
本文从计算高性能和存储高性能的维度对高性能架构的设计和高性能架构做个简练总结。希望大家有所收获。
计算高性能架构
高性能架构设计主要集中在两方面:
尽量提升单服务器的性能,将单服务器的性能发挥到极致 。
如果单服务器无法支撑性能,考虑服务器集群方案 。
单服务器高性能的关键之一就是服务器采取的网络编程模型,网络编程模型有如下两个关键设计点 :
服务器如何管理连接。
服务器如何处理请求 。
以上两个设计点最终都和操作系统的 I/O 模型及进程模型相关 。
I/O 模型:阻塞、非阻塞、同步 、异步
进程模型:单进程、 多进程、多线程。
常用的2种模型是:
Reactor I/O多路复用 复用进程/线程 非阻塞同步,高性能
Proactor 异步 非阻塞异步 操作系统主动通知
负载均衡类型
DNS负载均衡 简单成本低,更新有延迟,扩展性不高,策略简单
硬件负载均衡 功能强大 性能强大 稳定性高 支持安全防护 价格高 扩展性低
软件负载均衡 简单,便宜,扩展性好,性能一般,功能一般
负载均衡架构
地理级别负载均衡
集群级别负载均衡
机器级别的负载均衡
负载均衡的算法
任务平分类 平均分配
负载均衡类 根据资源分配
性能最优类 根据性能好的分配
Hash 类 相同id分配到同一台
存储高性能架构
mysql的高性能架构主要为读写分离和分库分表。
读写分离主要目的为分散读压力,但是可能导致主从一致性问题。
分库分表主要目的为分散写压力。问题是无法join导致分布式事务查询复杂度提升(count join order by)。实现形式主要有通过代码封装 或者中间件实现。
-
无法存储数据结构 -
schema扩展不方便 -
I/0 性能低 -
全文搜索 性能低
-
K-V 存储 解决数据结构的问题 -
文档数据库 解决schema扩展问题(场景 属性差异较大) -
列式数据集 解决IO问题 (场景 大数据统计) -
全文搜索引擎 解决全文搜索问题
-
缓存穿透 -
缓存雪崩 -
缓存热点
推荐文章
好文我在看 以上是关于高性能架构设计总结的主要内容,如果未能解决你的问题,请参考以下文章