从零开始学架构(0)

好久没写blog了,从今天开始就要开始学习架构了,写个blogs整理记录下,方便以后复习。(第一天概念比较多一点,见谅!)
架构师的定义:系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。
所以架构师是也是一个技术人员,也是需要懂很多很多技术栈,并且从技术栈的深坑中爬出来的。

架构师的使命和责任:

1.兼容过去问题:历史数据和业务需要兼容,和老系统,换句话来说就是当前公司系统有哪些之前遗留下来的问题。

 三种解决方法:1.空中加油 2.新旧分割法 3.休克疗法
 1.空中加油:指的就是新旧两个系统同时运行,新旧系统之间可以通过灰度发布转换
 2.新旧分割法:指的是新系统和老系统分别独立运行,等到新系统运行稳定之后,把老系统所有的后端迁移过去
 3.休克疗法:一刀切,把老系统关掉,全部放到新系统上,开启新系统,这样很容易崩。

2.解决当前问题:新需求和业务功能扩展(尽量避免维护当前业务)

具体做法:
1.投入产出比高:需求估时中,对系统流程了解时间比例小于百分之20
2.日常维护低:系统功能问题不影响业务需求发展
3.可扩展性强:避免出现小功能就大面积测试,只需要在小部分中测试即可
4.系统稳定

3.解决未来的问题

1.充分分析人力成本,时间成本,机会成本等
2.未来2-3年的用户规模扩大程度要有规划
3.未来2-3年的技术进化方向和技术迭代

架构师的目标

1.高可用:使得系统SLA至少百分之99,整个系统不超过50分钟,单个系统不超过5分钟

2.高扩展性:架构简单清晰,应用系统间耦合度低

3.低成本:提高服务重用性,降低人力成本,减少服务器成本

架构设计组成的关键层级

架构层级分四个层级:业务架构,应用架构,数据架构,技术架构
在这里插入图片描述

1.业务架构设计原则
业务平台化,核心业务和非核心业务分离,区分主流程和辅流程,隔离不同类型的业务
2.应用架构设计原则
稳定性原则,解耦/拆分,抽象化,松耦合,容错设计
3.数据架构设计原则
统一数据视图,数据应用分离,数据异构,数据读写分离,用mysql数据库,合理使用缓存
4.技术架构设计原则
可监控,应用可回滚,功能可降级,在线扩容,安全保证,可容错,可故障转移

大流量应对方案

流量控制:分流,降级,限流
扩容:机房带宽,应用系统扩容,数据库扩容
监控:硬件监控,应用系统监控,业务监控,安全监控
预案:线上演练,系统预案评审
线上压测:交易订单泄洪,页面系统压测
故障转移:DNS,数据库,软负载

架构设计总结:

四个层级和五个方面在这里插入图片描述

总结:主要写的是一些纯理论和概念方面的东西,重点是架构的四个层级,其中技术架构是大家最关注的,大伙也可以根据下图回想一下自己公司的技术架构哦!,后续会有很多技术栈的内容更新,包括spring,nginx,redis等等主流的技术栈.
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
架构(Architecture)是一项相对复杂的任务,但只要掌握正确方法,从零开始习也并非不可能。首先,我们需要理解架构的基本概念和原则。 架构的基本概念包括系统的结构、组件之间的关系以及它们的行为和功能。同时,架构的设计应遵循一些基本的原则,如高内聚性、低耦合性、可扩展性和灵活性等。 开始架构的第一步是掌握相关的基础知识。可以阅读《软件架构设计》等专业书籍,了解架构设计的基本原理和常见模式。此外,查阅相关的在线资源、博客和论坛也是很好的习途径。了解不同的架构风格,如分层架构、微服务架构、事件驱动架构等,并深入了解它们的优缺点和适用场景。 在深入架构之前,建议先对编程语言和软件工程有一定的了解。熟悉面向对象编程(OOP)的概念和原则,掌握常见的设计模式,如工厂模式、单例模式和代理模式等,这些都对理解和应用架构设计非常有帮助。 接下来,根据自己的习目标选择合适的项目进行实践。可以从小型项目开始,逐渐扩大规模和复杂度。尝试使用不同的架构模式和技术栈,不断调试和优化,从中习和总结经验教训。 此外,参加相关的培训课程、研讨会或工作坊也是很好的习方式。与业内专家和其他爱好者交流,分享经验和观点,不断拓宽自己的视野。 最后,坚持习和实践是提高架构设计能力的关键。保持对最新技术和发展的关注,不断更新自己的知识库,并将其应用到实际项目中。通过不断的习和实践,最终能够独立设计和开发出高质量、可靠和可扩展的软件架构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值