加入收藏 | 设为首页 | 会员中心 | 我要投稿 桂林站长网 (https://www.0773zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

10个优秀实践技巧

发布时间:2021-03-07 15:08:41 所属栏目:动态 来源:互联网
导读:件系统分解为自主模块,这些自主模块可独立部署,并通过轻量级,与语言无关的方式进行通信,共同实现业务目标。 软件系统很复杂。由于人脑只能接受一定程度的复杂性,因此大型软件系统的高度复杂性会带来许多问题。大规模、复杂的软件系统难以开发、增强、维

件系统分解为自主模块,这些自主模块可独立部署,并通过轻量级,与语言无关的方式进行通信,共同实现业务目标。

软件系统很复杂。由于人脑只能接受一定程度的复杂性,因此大型软件系统的高度复杂性会带来许多问题。大规模、复杂的软件系统难以开发、增强、维护,难以实现现代化以及扩大规模。

多年来,人们做了许多尝试,以解决软件系统的复杂性问题。20世纪70年代,David Parnas和Edsger W引入了模块化软件开发。Dijkstra解决了软件系统复杂性这一问题。在90年代,引入了分层软件架构,解决业务应用程序的复杂性。自21世纪初以来,面向服务的架构(SOA)脱颖而出,以开发复杂的业务应用程序。微服务架构是处理现代软件应用程序复杂性的最新方法。

此时可能会出现一个问题:为什么突然需要一种新的软件开发方法?

简单来说,软件开发所处的整个生态系统在过去十年里发生了巨大变化。如今,软件会通过Agile方法开发,利用CI / CD法在Container + Cloud上进行部署,然后保留在NoSQL数据库上,最后呈现在浏览器或智能手机上,而且这些设备在高速网络下会连接在一起。基于这些因素,微服务架构于2012年应运而生。

微服务或Monolith

对于微服务与Monolith,主要有两类人群持相反的观点。

对一类人群而言,微服务架构就是一种货物崇拜(Cargo-Cult)或一种趋势驱动开发(Hype Driven Development),这对于喜欢技术的开发人员来说,就像是游乐场。

而另一类人群表示,微服务架构是“统治一切的架构”,会消除任何软件系统的复杂性。笔者看来,微服务和Monolith架构互为补充。对于长期精简的应用程序,Monolith 架构更为合适。另一方面,对于大型且复杂的应用程序或可能变得大型和复杂的应用程序,微服务架构这一解决方案更好。

如今的软件开发是十分庞大的工程,可以实现微服务架构和Monolith架构的共存,就如SQL和NoSQL并存一样。

10个优秀实践

使用正确的方法设计微服务架构非常具有挑战性和难度。

(编辑:桂林站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!