
软件架构
文章平均质量分 56
从0开始学习架构
宣晨光
向往架构师,专注于微服务治理、人工智能领域;对前端、服务端、数据库、容器化、大数据、区块链等都有涉及。
展开
-
【软件架构】05-高性能架构
3.缓存的层次和粒度( 网关缓存如 nginx,本地缓存如单机文件,分布式缓存如redis cluster,进程内缓存如全局变量)2、缓存失效后,业务系统需要重新生成缓存。如果短时间内有大量请求查询该缓存,导致同时查询数据库,更新缓存。在集群架构中,如果存在某一个热点key,导致大量请求向同一台服务器上,导致服务器压力过大。1、短时间内大量缓存失效:由于程序启动后,预加载大量缓存,并且设置相同时间。查询一个不存在的数据,此时会跳过缓存,直接查询数据库。1、不设置过期时间,由应用程序执行定时任务,手动删除。原创 2024-02-24 22:04:50 · 505 阅读 · 0 评论 -
【软件架构】04-数据库集群
采用一主多从、多主多从架构。原创 2024-02-23 09:00:00 · 434 阅读 · 0 评论 -
【软件架构】03-架构设计流程
确定了系统面临的主要复杂度问题,进而明确了设计方案的目标,原创 2024-02-22 09:00:00 · 416 阅读 · 0 评论 -
【软件架构】02-复杂度来源
1)单机受限于主机的CPU、网络、磁盘读写速度等影响在多线程的互斥性、并发中的同步数据状态等;:硬件资源、增大线程池2)集群微服务化拆分,导致调用链过长,网络传输的消耗过多。集群下的任务分发分布式下的任务拆分、合并:服务、主机的水平扩展。原创 2024-02-21 10:47:47 · 477 阅读 · 0 评论 -
【软件架构】01-架构的概述
软件架构就是软件的顶层结构RUP(统一过程开发)4 + 1 视图1)逻辑视图:描述系统的功能、组件和它们之间的关系。它主要关注系统的静态结构,包括。2)开发视图:描述系统的软件开发过程。它关注,包括开发环境、版本控制、构建工具、编译器等,并用于表示系统的开发工程、构建过程和开发环境。3)进程视图:描述系统的并发性和分布性。它关注系统在运行时的行为,包括系统的运行时进程、线程、节点、通信方式等,并用于表示。4)物理视图:描述系统的部署和配置。原创 2024-02-20 11:43:20 · 1135 阅读 · 0 评论