关于软件架构的一些“小事”

软件架构(software architecture)就是软件的基本结构。

合适的架构是软件成功的最重要因素之一。大型软件公司通常有专门的架构师职位(architect),只有资深程序员才可以担任。

架构设计的依据是什么?

当然是需求,但架构设计思想中最有价值的东西,莫过于用风险分析来驱动架构设计,为什么这是个有价值的策略呢?因为一个产品设计中要考虑的问题很多,但只有在发现风险与消除风险的过程中,发现和抓住高风险的部分,才可以针对潜在威胁有重点地提出设计解决方案,甚至改变我们的设计思想,从而设计出更加良好的产品。

关于软件架构的一些“小事”

云结构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构。

它的高扩展性,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个处理单元(prcessing unit)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。

黑板模式是什么?

这种模式对于没有确定解决方案策略的问题是有用的。黑板模式由3个主要组成部分组成。

黑板——包含来自解决方案空间的对象的结构化全局内存

知识源——专门的模块和它们自己的表示

控制组件——选择、配置和执行模块

关于软件架构的一些“小事”

所有的组件都可以访问黑板。组件可以生成添加到黑板上的新数据对象。组件在黑板上查找特定类型的数据,并通过与现有知识源的模式匹配来查找这些数据。

有时候怕就怕未知的风险,迷茫的眼神,这种坑,数量多少不清楚,影响多深不清楚,难填。以前遇到这问题,我可能会到处查资料,自己单搞,速度慢不说,容易走岔道。最好问专家,这样专家会帮你打开视野,给你一些成熟的框架,按照这样的方式去解决,解决问题的质量就能有些保障,俗话说就是让老司机带路。

架构是进化出来的。架构实际上是在量不断的增大,超过了单台服务器的容量,逐渐的分拆,同时导致超过单个人员的能力,工作人员不断的增多,工作内容不断的分拆形成的。这本身就是架构的意义所在。不管怎么分拆,所达到的目标没有任何变化,就是完成业务在计算机中的虚拟化。

关于软件架构的一些“小事”

尚学堂12大精英团队+各类实战项目,真正实现1+1>10的目标效果。帮助学员迅速成长,持久腾飞,成就学员“高富帅”人生;帮助企业技术和团队成长,成就百年中华名企;助力中国持续成为世界强国而贡献力量。尚学堂12大精英团队,覆盖IT行业十大领域,实战团队240人,服务学员累计超过10万人,就业合作企业数量500+。


分享到:


相關文章: