系统架构
文章平均质量分 82
老杨的码农生活
热衷于Android系统分析,专注于tcp/ip协议,钻研linux Kernel,关注网络安全。
展开
-
优化性能问题的一般方法
我们可以从系统资源瓶颈和应用程序瓶颈,这两个角度来分析性能问题的根源。从系统资源瓶颈的角度来说,USE法是最为有效的方法,即从使用率、饱和度以及错误数这三个方面,来分析 CPU、内存、磁盘和文件系统 I/O、网络以及内核资源限制等各类软硬件资源。从应用程序瓶颈的角度来说,可以把性能问题的来源,分为资源瓶颈、依赖服务瓶颈以及应用自身的瓶颈这三类。资源瓶颈的分析思路,跟系统资源瓶颈是一样的。 依赖服务的瓶颈,可以使用全链路跟踪系统,进行快速定位。 而应用自身的问题,则可以通过系统调用、热点函数,原创 2022-02-11 14:30:35 · 675 阅读 · 0 评论 -
架构师案例分析
架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师 / 架构师应对和管理复杂性的四种最基本武器。 在我之前写的文章 《优秀架构师必须掌握的架构思维》 中,我先介绍了抽象、分层、分治和演化这四种应对复杂性的基本武器。在本篇文章中,我会通过四个案例,讲解如何综合运用这些武器,分别对小型系统、中型系统、基础架构以及组织技术体系进行架构和设计。小型系统案例...原创 2020-03-13 14:27:55 · 1460 阅读 · 0 评论 -
优秀架构师必须掌握的架构思维
如果说架构的本质是管理复杂性,那么抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。1、抽象思维 抽象其实是这样定义的:对某种事物进行简化表示或描述的过程,抽象让我们关注要素,隐藏额外细节。在系统架构和设计中,抽象帮助我们从大处着眼(get our mind about big picture),隐藏细节(temporarily ...原创 2020-03-13 11:17:02 · 556 阅读 · 0 评论 -
网卡多队列技术与RSS功能介绍
多队列网卡是一种技术,最初是用来解决网络IO QoS(quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,通过多队列网卡驱动的支持,将各个队列通过中断绑定到不同的核上,以满足网卡的需求。常见的有Intel的82575、82576,Boardcom的57711等,下面以公司的服务器使用较多的Intel 82575网卡为...原创 2020-02-07 09:58:47 · 1806 阅读 · 0 评论 -
设计秒杀系统笔记
设计原因:为什么要针对秒杀设计一个完善的方案?因为系统可能会因为1%的秒杀业务影响其余99%正常业务的运行,所以需要将秒杀系统独立出来。待解决问题:主要解决两个问题:并发读、并发写。整体架构要求:概括为:"稳、准、快",即对应"高可用、一致性、高性能",其介绍分别如下:高可用:保证系统的高可用和正确性,设计PlanB进行兜底。一致性:保证秒杀减库存中的数据一致性。高...原创 2019-05-23 11:09:08 · 276 阅读 · 0 评论 -
Java NIO:IO与NIO的区别
一、概念 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。二、NIO和IO的主要区别下表总结了Java IO和NIO之间的主要区别:IO NIO 面向流 ...原创 2019-05-24 17:23:18 · 263 阅读 · 0 评论 -
成小胖学习ActiveMQ·基础篇
过了个春节,回到公司的成小胖变成了成大胖。但是你们千万别以为他那个大肚子里面装的都是肥肉,里面的墨水也多了不少嘞,毕竟成小胖利用春节的半个月时间专心学习并研究了 ActiveMQ,嘿嘿……这不,为了检验下自己的学习成果,上班的第一天成小胖就去找架构师老王交流 ActiveMQ 相关的知识,还顺便向老王讨了个红包,可把成小胖给高兴坏了。“来,根据你的了解说下 ActiveMQ 是什么。”“这...转载 2019-05-24 14:52:26 · 188 阅读 · 0 评论 -
分布式系统的高并发
一、什么是高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。响应时间:系统对请求做出响应的时间。例如系统处理一个HT...原创 2019-04-30 16:58:24 · 6943 阅读 · 0 评论 -
秒杀系统优化思路
一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306抢票,票是有限的,库存一份,瞬时流量...原创 2019-04-30 16:56:43 · 221 阅读 · 0 评论 -
负载均衡
什么是负载均衡负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。常见的负载均衡方案常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每一个下游都有多个上游调用,只需要做到,每一个上游都均匀访问每一个下游,就能实现“将请求/数...原创 2019-04-30 16:55:19 · 307 阅读 · 0 评论 -
四层和七层反向代理
•什么是四层反向代理hash•什么是七层反向代理hash•中间还有三层那里去了•...今天花几分钟简单和大家解释一下。场景:访问用户通过proxy请求被访问的真实服务器路径:用户 ->proxy-> real-server什么是代理?回答:[proxy]代表[访问用户],此时proxy是代理。例如:在家访问xxoo网站,不希望xxoo网站trace到我们的真实ip...原创 2019-04-30 14:13:38 · 997 阅读 · 0 评论 -
几种负载均衡技术的应用分析对比
1.HTTP重定向 根据用户的HTTP请求信息计算出一个真实的WEB服务器的地址,并把这个地址写入HTTP重定向302报文头中发给用户优点:简单易用缺点:用户需要两次请求才能访问到服务器,性能差 http重定向服务器可能会成为性能瓶颈 http 302可能被搜索引擎判定作弊,降低搜索排行2.反向代理负载均衡...原创 2019-04-13 15:35:51 · 540 阅读 · 0 评论 -
负载均衡之轮询
在大型网络架构上,负载均衡有多种方式,而负载均衡算法有有很多种,我们今天讲一下负载均衡算法之轮询法和加权轮询。轮询法(Round Robin) 轮询法基本上是最简单的负载均衡算法,基本思路就是对所有的服务器节点按顺序分配,每个服务器的概率是等同的,这种情况适合于服务器的性能等指标一样的情况。加权轮询法 在轮询基础上,我们对每个服务器加了权重...原创 2019-04-04 10:57:15 · 2402 阅读 · 1 评论 -
LB 高可扩展性集群(负载均衡集群)
一、什么是负载均衡首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。这是来自维基百科的介绍。负载均衡的目的,就在于平衡负载,给用户提供优质,可靠,稳定的服务。上图是个最简单...转载 2019-04-04 08:58:00 · 752 阅读 · 0 评论 -
写出优化的ARM架构上的C代码
通过一定的风格写C语言例程,我们可以让C编译器生成原创 2014-08-17 14:52:33 · 1153 阅读 · 0 评论 -
ARM嵌入式系统开发指南-设计和优化系统软件(译作连载)
最近比较关注ARM系统架构,所以翻译 2014-08-10 23:02:09 · 2094 阅读 · 0 评论