
编程和体系结构之间的最大区别是“不确定性”. 确定了通过编程编写的程序,并且不同的体系结构可能适合特定的情况.
由于不同的体系结构可能适合或似乎适合于要求,或者由于团队成员对某种技术栈更加熟悉,因此在架构师上面临多种选择困难. 这些选择中的任何一个都可能是正确的,但是对于大多数选择而言,并没有一套通用的规范. 他们大多数依靠经验和直觉.
在设计架构时,您不能总是以大型制造商的标准为目标,而总是想成为行业的领导者. 但这通常会忽略业务的实际需求,并放大工作量,导致失败.
通常没有业务量,也不会有太多的人力资源来支持“大架构”. 业界的顶级架构都是通过逐步改进而获得的. 好的体系结构不是想象中的,而是业务场景和压力. 强制退出
没有生意,空谈结构无法取得结果.
团队压力有时使我们变得有意或无意地变得更加复杂. 例如,Zookeeper的主从策略始终使人们心跳加快,从而使更多的人感到更加可靠,并选择更复杂的解决方案.
软件领域的复杂性体现在结构和逻辑的复杂性上.
结构复杂的系统通常具有以下特征:
组件的数量很复杂,组件之间的关系也很复杂. 定位问题很困难
为了解决结构复杂性的问题,我们的第一个想法是减少的数量,但过少会引入新的问题.
如果组件(或对象或功能)的逻辑过于复杂,也会引起问题. 例如可伸缩性问题,协作问题.

通常,企业开发体系结构的第一次改革是因为组件太复杂,需要对系统进行分段.
复杂的组件也可能使用复杂的算法,因此难以理解和改进.
据说软件体系结构起源于体系结构. 但是一旦构建完成,它就不会改变,并且软件必须根据业务的发展而不断变化.
由于业务总是在变化,因此架构本质上不能是静态的. 因此,不会说复制企业的结构可以一劳永逸.
软件体系结构需要经历以下过程:
设计的体系结构满足当前的业务体系结构并不断进行迭代. 充分利用它并消除其残渣可能需要重构和重写,但总有一些事情要继续
淘宝技术开发经验丰富的“个人网站”->“ Oracle /支付宝/旺旺”->“ Java时代1.0”->“ Java时代2.0”->“ Java时代3.0”->“分布式时代” << /
2003年,淘宝网急着上网,直接购买了产品和服务. 没有太多时间考虑性能,稳定性等问题,因为该项目已启动,迅速启动并抢占市场是第一个需求.

淘宝实际上遵循“适当原则”和“简单原则”.
目前,距离发布还只有半年的时间. 根据“适当原则”和“简单原则”,最简单的购买和购买方式.

由于购物的普及和业务的迅速增长网络架构设计原则,MySQL无法支持它,因此它被Oracle取代,具有大容量,稳定性,安全性和高性能.
如果数据量大且存储空间不足,请购买NAS并添加Oracle RAC以实现负载平衡.

一开始,选择Java的原因是连接到Oracle的开放源代码库(SQL Relay)的PHP始终处于死锁状态.
PHP + Apache将为每个请求生成一个到的链接,没有连接池,因此性能低下,所以我选择了SQL Relay.
该技术的问题严重影响了业务的发展,必须解决.
回顾这一改革,选择Java也在为人才开辟道路,因为招聘要比Java好得多.

在业务发展的这个时候,购买和购买不能再解决容量,性能和成本方面的问题.
在性能方面,Oracle从未有过文本搜索的性能,而且成本问题更为致命.
根据“进化原理”,技术人员需要进行审查和重建.


淘宝还做了很多优化工作,例如数据子,放弃EJB,引入Spring,添加缓存,添加CDN等.
此时,业务规模足以使技术人员进入IOE(IBM,Oracle,EMC),这将启动自主研发的技术,从而可以大大降低技术成本.
移动QQ的发展大致分为四个阶段: 十万个,一百万个,一千万个和一亿个. 基本上,是由用户规模引起问题并迫使技术体系结构升级.
在这里,我向您推荐一个Java体系结构小组: 725633148. 我将分享一些高级架构师录制的视频记录: Spring,MyBatis,Netty源代码分析,高并发,高性能,分布式,微服务架构原理,JVM性能优化,分布式架构等已成为建筑师必不可少的知识系统. 您还可以获得免费的学习资源,现在受益匪浅!
一开始,移动QQ背景是一种通用的体系结构,遵循“适当的原则”和“简单的原则”.

2001年,同时QQ用户数超过100万,出现了问题:
访问服务器的性能非常严格,内存,CPU,网卡带宽和流量已成为瓶颈. 一台服务器不能支持所有用户(注册用户也无法保存)
根据“进化原理”重建:


2005年,同时QQ用户数超过1000万网络架构设计原则,并出现了新问题:
同步流量太大,状态同步服务器遇到了独立的瓶颈. 联机状态信息量太大,导致单个服务器的存储空间不足. 单个状态同步服务器不能支持所有联机用户. 单个访问服务器不能支持所有联机用户. 状态信息
架构再次“进化”:

2010年,同时QQ用户数超过1亿,并且出现了问题:
灵活性差,功能扩展困难,无法支持某些关键功能,这些功能以前已经在原来的基础上进行了升级,现在需要重新设计
因此,“进化”新的结构
存储架构:

通信体系结构:

了解了建筑设计的三项原则和面对“不确定性”的两个案例.
让我们先做
如果有任何错误,请指出,要特别注意炸鱼.
在这里,我向您推荐一个Java体系结构小组: 725633148. 我将分享一些高级架构师录制的视频记录: 有Spring,MyBatis,Netty源代码分析,高并发,高性能,分布式,微服务体系结构原理. ,JVM性能优化,分布式体系结构等已成为建筑师必不可少的知识系统. 您还可以获得免费的学习资源,现在受益匪浅!
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-260717-1.html
不然不会说出解决男女失衡解决办法是公用妻子