从0开始学架构

程序员的成长绕不开架构设计,有时架构设计就像鸿沟一样挡在程序员晋升之路上,只要跨过去就可以海阔天空。

但不少技术能力很强的程序员依然不能完全掌握架构设计,这与架构设计的思维方式和训练机制与写代码有很大差异有关,加之人们对架构设计存在很多误区,缺乏一套行之有效的架构设计方法论,就可能导致在实践过程中把握不住重点、分不清主次;或者,没有彻底掌握架构设计的原则,在设计上举棋不定。

也许你还是个架构新手,缺乏一个可以参考指导的架构设计流程;或者,虽然有一定经验,但还不能对已有模式进行技术创新。这些问题都可以在极客时间专栏《从 0 开始学架构》中找到答案。

李运华,资深技术专家。目前带领多个研发团队,承担架构设计、架构重构、技术团队管理、技术培训等职责,曾就职于华为和 UCWeb,写过《面向对象葵花宝典》一书。

华仔从 2006 年开始接触架构设计,花费 8 年时间掌握架构设计的精髓,走过了从程序员到架构师的蜕变之路,也踩过了这条路上的很多坑。后来他带了团队,特别是做了职业等级晋升评委后,看到了一大批优秀程序员的晋升卡在架构设计上,也越来越能体会架构设计特性所导致的学习和实战方面的问题。

在本专栏中,华仔会从架构基础、三大架构模式和实战的角度分享他一整套的架构设计方法论,希望你学习后不仅能够快速理解陌生的架构设计,自己也能对架构设计游刃有余,并且可以给身边正在迷惘的同学指点迷津,实践所学,分享所学。

专栏模块

专栏共 50 期,主要分为 5 部分。

  • 架构基础:将介绍架构设计的历史背景,阐述架构相关的概念以及架构设计的本质;提炼三个核心架构设计原则;详细描述架构设计的标准流程和步骤。
  • 高性能架构模式:将介绍高性能数据库集群读写分离、分库分表两种方案,NoSQL 方案的典型特征和应用场景,缓存的架构设计三大要点;介绍 PPC、TPC、Reactor、Proactor 模型提升性能,以及负载均衡的分类与架构、算法与优缺点。
  • 高可用架构模式:将介绍 CAP 原理的理解和应用、FMEA 分析方法;从主备、主从、主主、集群、分区详解常见的高可用存储架构;给出如何设计高可用计算架构;使用异地多活方案保障业务高可用的技巧和步骤。
  • 可扩展架构模式:将概述可扩展模式及其基本思想,详解分层架构、SOA 架构、微服务及微内核架构。
  • 架构实战:将理论与案例结合,在实战中落地专栏传递的架构原则、架构流程和架构模式。

专栏详细目录

原文地址:https://www.cnblogs.com/it-chen/p/11632687.html

时间: 2024-11-02 17:50:42

从0开始学架构的相关文章

从0开始学架构(二)

此系列文章为极客时间上从0开始学架构学习后感悟总结,虽然隔了一段时间了,那么就再看一遍并且进行感悟升华,排版格式上有问题,后期再复习时也会进行更新   一.    高性能数据库集群:读写分离 读写分离的基本原理是将数据库读写操作分散到不同的节点上. 数据库服务器搭建主从集群,一主一从.一主多从都可以 数据库主机负责读写操作,从机只负责读操作 数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据 业务服务器将写操作发给数据库主机,将读操作发给数据库从机 从代码层面与运维层面实

《从0开始学架构》-第1部分-架构基础

目录 01架构到底是指什么? 02架构设计的历史背景 03架构设计的目的 04复杂度来源:高性能 单台计算机内部为了高性能带来的复杂度 多台计算机集群为了高性能带来的复杂度 05复杂度来源:高可用 高可用方案的本质 冗余”带来的复杂性 一.计算高可用 二.存储高可用 高可用状态决策 1)独裁式 2)协商式 3)民主式 思考题:高性能和高可用哪个更难? 06复杂度来源:可扩展性 07复杂度来源:低成本.安全.规模 08架构设计三原则 合适原则 简单原则 演化原则 09架构设计原则案例 10架构设计

《从0开始学架构》-02-高性能架构模式

目录 14高性能数据库集群:读写分离 15高性能数据库集群:分库分表 分库 分表 垂直分表 水平分表 实现方式 16高性能NoSQL 17高性能缓存架构 缓存使用场景 缓存使用常见问题 缓存穿透 缓存雪崩 缓存热点 实现方式 18单服务器高性能模式:PPC与TPC 19单服务器高性能模式:Reactor与Proactor 20高性能负载均衡:分类及架构 负载均衡分类 DNS负载均衡 硬件负载均衡 软件负载均衡 负载均衡典型架构 21高性能负载均衡:算法 14高性能数据库集群:读写分离 读写分离:

从0开始学微服务

作为一名IT从业者,懈怠是一件奢侈的事情,因为在IT圈,原地踏步就等于退步. “微服务”这个名词已经广为流传,但是我觉得大部分的人也许同我一样,仅仅只是处于对这个概念的认知上:是的!今天我希望跟大家一起揭开它的神秘面纱:) <从 0 开始学微服务>专栏希望能够用通俗易懂的语言帮助你理解以上几个问题,同时也是希望能够由浅入深.由表及里系统为你讲解微服务的各个关键环节,帮你上手微服务. 四个核心模块. 入门微服务:将介绍微服务体系的基本原理和组成,帮你解答什么是微服务.什么时候适合微服务改造.微服

【从0开始学Java】1.面向对象的特征有哪些方面

+Q325957484可以领取学习视频 1.面向对象的特征有哪些方面 1.Java基础培训,从0开始学Java:抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.Java基础培训,从0开始学Java:继承 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为

如何从 0 开始学 ruby on rails (漫步版)

如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 rails,在学习使用 rails 的过程中学习 ruby.但我觉得这有些本末倒置,我更推崇先学 ruby 再学 rails,在对 ruby 有了一定的了解后再学 rails

如何从 0 开始学 Ruby on Rails

如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣,但又不知道从何下手.学习路线是什么,因为在多个场合下回答过类似问题,所以决定整理成文章供大家参观. 有很多人选择直接学习 Rails,在学习使用 Rails 的过程中学习 Ruby.但我觉得这有些本末倒置,我更推崇先学 Ruby 再学 Rails,在对 Ruby 有了一定的了解后再学 Rails 有

从零开始学架构:开篇-文章大纲

为什么写这个系列文章? 1)行业趋势:15年说过,随着互联网架构的普及,软件复杂度的提升,架构师职位会在未来五年,迅速发展.谁掌握了架构,谁就掌握了软件技术的核心. 2)15年承诺:起源于大型网站架构,计划写完大型网站架构系列,开始<一步一步学架构系列>(目前改名为:从零开始学架构系列) 3)个人感悟:1.做技术就是做架构:2.做工作就是做管理:这两句不详细解释,大家慢慢品味. 基于以上几点,因此开始写<从零开始学架构系列>,本系列的主要目标人群是开发人员,高级开发人员,初级架构师

从0开始学Python---01

1.开始 Vim  test.py #!/usr/bin/python print "hello,world!"; chmod +x test.py ./test.py 2.基本知识 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 数字:Python支持四种不同的数值类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(