系统架构设计

news2024/11/13 17:52:04

高性能

  • 客户端内部缓存
  • 客户端到服务器之间缓存:CDN,网络专线
  • 数据库前加缓存
  • Sessioin等信息共享NoSQL
  • 数据库分片,读写分离
  • web层无关态集群+负载均衡
  • GeoDNS 就近原则,边缘计算存储
  • 异步,解耦,削峰:消息队列
  • 离线预计算,空间换时间:bloom filter

对于无状态计算:采用集群化+负载均衡

对于有状态存储:采用分片,复制集,读写分离

再加上无处不在的缓存

高可靠&高可用

  • 集群
  • 数据冗余
  • 双机房容灾

总节结:系统不能存在单点,有副本有冗余,出问题时能迅速让副本顶上。

好运维

  • 监控告警要完善:直观明了发现问题。
  • 日常更新好灰度:不要出现更新就影响所有用户的情况。
  • 日志全面:出问题好定位。
  • 扩缩容易操作,自动化程序高
  • 好恢复:人工操作失败好回滚

无状态问题少,有状态很棘手

分片问题:

  • 分片不均衡怎么办?
  • 分片key怎么选
  • 增加减少分片时怎么均衡?
  • 分片中出现明星效应怎么办?
  • 事务
  • 元数据管理,元数据一致性(版本号?lease?)
  • 智能客户端?服务器代理?
  • 分片方式:hash、一致性hash、range based
  • 参考:redis, kafka, hdfs, mongodb, tidb,tikv中的解决方案

副本/主从问题:

  • 一致性:强一致性算法?大多数原则?主动检测恢复?
  • 写入性能

cache问题:

  • 不一致
  • 雪崩
  • 冷启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/480548.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL学习笔记第五天

第06章多表查询 多表查询概述: 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段&#xff0…

第二十章 渲染管线

渲染管线是计算机图形中最基础最核心的部分,它是将3D场景显示到2D平面的技术过程。在DirectX课程中,我们就介绍了渲染管线,分为固定渲染管线和可编程渲染管线(Shader)。但是在DirectX 10版本之后统一了渲染架构&#x…

【Java】面试常问知识点(Java基础)

JVM java 栈:线程私有,生命周期和线程,每个方法在执行的同时都会创建一个 栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程;栈…

Photoshop如何使用蒙版之实例演示?

文章目录 0.引言1.给单调的天空添加蓝天白云2.清除头发边缘的杂色3.制作景深效果4.制作枯荣共存的树5.制作双重曝光肖像 0.引言 因科研等多场景需要进行绘图处理,笔者对PS进行了学习,本文通过《Photoshop2021入门教程》及其配套素材结合网上相关资料进行…

【Linux内核解析-linux-5.14.10-内核源码注释】内核启动kernel_init解释

源码 解释1 static int __ref kernel_init(void *unused): 声明一个静态整型函数kernel_init(),该函数不会被其他文件访问,使用__ref标记表示该函数是可重定位的,并且该函数不需要任何参数。 wait_for_completion(&kthreadd_done);: 等待…

FL Studio 2023中文高级版水果编曲软件下载

FL Studio 2023中文版是一款非常经典的音乐制作软件,这款软件除了可以为用户提供全面的音乐制作功能之外,还有丰富的主题和皮肤供用户选择,让用户不但做出的音乐具有自己的风格,连制作的音乐的过程也个性十足,非常适合…

荔枝派Zero(全志V3S)驱动开发之串口

系列文章目录 文章目录 系列文章目录前言一、修改及编译设备树1、修改设备树文件2、编译 kernel 二、移植 minicom1、配置buildroot2、编译 buildroot 三、拷贝到 SD 卡四、测试验证1、确认 minicom 是否正常2、确认串口3、发送测试4、接收测试 前言 修改设备树打开 uart1 和 …

14-4-进程间通信-共享内存

之前学习了无名管道,命名管道,消息队列。 还剩下:共享内存,信号,信号量。 本章讨论的是共享内存。 一、共享内存的应用场景 A进程有自己的存储空间; B进程也有自己的存储空间; A进程和B进…

使用物联网技术进行肥胖管理是可行的吗?

在物联网和可穿戴设备的帮助下,个人现在可以监测自己的健康指标,如心率、血糖水平和身体活动。这些个性化的见解帮助人们对自己的生活方式做出明智的决定,从而带来更好的体重管理结果。 利用物联网技术成功管理肥胖症 肥胖是一个全球性的健…

还在挣扎文件

由于在老式打印机里面每打下一行都要进行回车和换行,在windows系统里面也延续了这个惯例,但是c语言是只有换行,但是为了兼容,会自动进行转换;比如,它在写入文件的时候换行会自动转换为回车加换行&#xff0…

加强网络风险生命周期

当今业务环境中云原生应用程序的激增帮助组织简化了运营。 企业现在可以近乎实时地监控数据、与客户互动并分享见解,帮助他们克服曾经阻碍生产力的低效率问题。 然而,使用云也极大地扩展了企业可利用的攻击面。 CSPM、CWPP、CNAPP、SAST、SCA、IaC、D…

网络基础3【网络层、数据链路层】

目录 一.网络层 1.IP协议 (1)基本概念 (2)协议头格式 2.网段划分 3.特殊的IP地址 4.IP地址的数量限制 5.私有IP地址和公网IP地址 6.路由 二.数据链路层 1.以太网 2.以太网帧格式 3.MAC地址 4.对比MAC地址和IP地址 …

【图】邻接矩阵

图的存储结构分为邻接矩阵和邻接表两种,带权的图叫做网。 邻接矩阵 邻接矩阵适合边多的图 无向图 两个顶点之间的连线是双向的,一个一维数组存顶点,一个二维数组存边 若有边则值为1,反之为0 邻接矩阵需要知道点数、边数、一个二维…

ARM微处理器的指令集概述

ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单。ARM微处理器的指令集是加载(Load)/存储(Store)型的,也即指令集仅能处理寄存器中的数据&#xff0…

【论文笔记】Attention和Visual Transformer

Attention和Visual Transformer Attention和Transformer为什么需要AttentionAttention机制Multi-head AttentionSelf Multi-head Attention,SMA TransformerVisual Transformer,ViT Attention和Transformer Attention机制在相当早的时间就已经被提出了&…

Word2vec原理+实战学习笔记(二)

来源:投稿 作者:阿克西 编辑:学姐 前篇:Word2vec原理实战学习笔记(一) 视频链接:https://ai.deepshare.net/detail/p_5ee62f90022ee_zFpnlHXA/6 5 对比模型(论文Model Architectur…

锐捷(十七)锐捷单臂路由的配置

一 实验拓扑 二 实验需求 用单臂路由实现不同vlan间的通信,即要求vlan10的主机和vlan20的主机之间通过三层实现互访 三 实验分析 路由器的物理接口可以被划分成多个逻辑接口,这些被划分后的逻辑接口被形象的称为子接口。值得注意的是这些逻辑子接口不能…

Redis高级——键值对设计

1、Redis键值设计 1.1、优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过44字节不包含特殊字符 例如:我们的登录业务,保存用户信息&a…

AIGC迈向通用人工智能时代

一、AIGC“起飞”的背后 2023年1月30日,AIGC概念股突飞猛涨。一时间,AIGC再次站上风口浪尖。 AIGC(AI Generated Content)是指利用人工智能技术来生成内容,被认为是继UGC、PGC之后的新型内容生产方式,常见…