自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员学习圈

行胜于言、质胜于华

  • 博客(11)
  • 收藏
  • 关注

原创 架构设计文档模板

1.备选方案模板1.1 需求介绍 • [需求介绍主要描述需求的背景、目标、范围等] • 随着XX微博业务的不断发展,业务上拆分的子系统越来越多,目前系统间的调用都是同步调用,存在如下问题: • 性能问题:当用户发布了一条微博后,微博发布子系统需要同步调用“统计子系统”“审核子系统”“奖励子系统”等共8个子系统,性能很低。 • 耦合问题:当新增一个子系统...

2019-11-24 23:57:44 525

原创 App架构的演进

1.Web App App 架构又叫包壳架构,简单来说就是在 Web 的业务上包装一个 App 的壳,业务逻辑完全还是 Web 实现,App 壳完成安装的功能,让用户看起来像是在使用 App,实际上和用浏览器访问 PC 网站没有太大差别。2.原生App 优点:用户体验好 缺点:开发成本高;不同平台重复开发3.Hybrid App 优点:根据不同的业务...

2019-11-24 22:50:18 398

原创 架构重构

1.有的放矢 只有少部分架构演化可能需要推到重来,绝大部分的架构演化都是通过架构重构来实现的。1.1 架构重构的难点 • 业务已经上线,不能停下来 • 关联方众多,牵一发动全身 • 旧架构的约束1.2 架构重构案例 架构师的首要任务是从一大堆纷繁复杂的问题中识别出真正要通过架构重构来解决的问题,集中力量快速解决,而不是想着通过架构重构来解决...

2019-11-24 22:33:57 1093

原创 互联网架构模板

互联网的标准技术架构如下图所示,这张图基本涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范围。1.存储层1.1 SQL层1.2 NOSQL层1.3 小文件存储 开源的,HBase,Hadoop,Hypertable,FastDFS等都可以作为小文件存储的底层平台。如果使用了阿里云,有存储系统OSS。1.4 大文件...

2019-11-24 22:24:10 1251

原创 技术演进的方向

1.技术演进的方向?1.1 判断方向的3大派别 • 潮流派 特点:热衷新技术,紧跟技术潮流,迫切想将新技术应用起来 问题:新技术未成熟,可能遇到坑;掌握新技术后才知不适合,成本很高 • 保守派 特点:戒备新技术,稳定压倒一切,一种技术打遍天下 问题:无法享受到新技术带来的收益 • 跟风派 特点:跟紧竞争对手,对方用...

2019-11-24 22:07:18 736

原创 可拓展架构模式

1.可扩展架构的基本思想 拆。就是将原本大一统的系统拆分成多个规模小的部分,扩展时只修改其中一部分即可,无须整个系统到处都改。1.1 3种拆分思路 日常生活中的『拆』是破坏性的,而软件系统的『拆』是建设性的。 • 面向流程拆分:将整个业务流程拆分为几个阶段,每个阶段作为一部分 • 面向服务拆分:将系统提供的服务拆分,每个服务作为一部分 • 面向...

2019-11-24 21:37:07 1209

原创 高可用架构模式

1.CAP 理论 CAP定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是回加州大学伯克得分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在2000年的ACM PODC上提出的一个猜想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了布鲁尔猜想的证明,使之成为分布式计算领域公...

2019-11-24 20:39:48 616

原创 高性能架构模式

1.高性能数据库集群:读写分离1.1 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图。读写分离的基本实现是: • 数据库服务器搭建主从集群,一主一从、一主多从都可以。 • 数据库主机负责读写操作,从机只负责读操作。 • 数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。 ...

2019-11-24 20:31:41 579

原创 架构设计流程

1.架构设计流程:识别复杂度 • 架构的复杂度主要来源于“高性能”“高可用”“可扩展”等几个方面,但架构师在具体判断复杂性的时候,不能生搬硬套,认为任何时候架构都必须同时满足这三方面的要求。实际上大部分场景下,复杂度只是其中的某一个,少数情况下包含其中两个,如果真的出现同时需要解决三个或者三个以上的复杂度,要么说明这个系统之前设计的有问题,要么可能就是架构师的判断出现了失误,即使真的认为...

2019-11-24 20:31:06 698

原创 架构设计三原则

架构即决策。架构需要面向业务需求,并在各种资源(人、财、物、时、事)约束条件下去做权衡、取舍。而决策就会存在不确定性。采用一些高屋建瓴的设计原则有助于去消除不确定,去逼近解决问题的最优解。 • 合适原则(合适优于业界领先) 架构无优劣,但存合适性。“汝之蜜糖,吾之砒霜”;架构一定要匹配企业所在的业务阶段;不要面向简历去设计架构,高大上的架构不等于适用;削足适履与打肿充胖...

2019-11-15 00:37:23 193

原创 复杂度来源

1.复杂度来源:高性能 软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集群为了高性能带来的复杂度。1.1 单机复杂度 计算机内部复杂度最关键的地方:操作系统 操作系统和性能最相关的是:进程和线程 分时调度,本质上仍然是串行任务 多cpu才能做到真正的同时执行计算任务 常...

2019-11-14 00:31:56 421

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除