分布式系统

微服务架构首先表现为一种分布式系统,而分布式系统是对传统单块系统的一种演进。java

单块系统的问题
在软件技术发展过程的很长一段时间内,软件系统都表现为一种单块系统,时至今日,不少单块系统仍然在一些行业和组织中获得开发和维护。所谓,单块系统,简单讲就是把一个系统所涉及的各个组件都打包成一个一体化结构并进行部署和运行。在 java EE 领域,这种一体化结构不少时候就体现为一个war包,而部署和运行的环境就以tomcat为表明的各类应用服务器。web

分布式系统的基本特征
分布式系统是指硬件与软件组件分布在不一样的网络计算机上,彼此之间仅仅经过消息传递进行通讯和协调的系统。咱们从这个定义中能够看出分布式系统包含两个区别于单块系统的本质特征:一个是网络,分布式系统中全部组件都位于网络中,对于互联网应用而言,则位于更为复杂的互联网环境中,另外一个是通讯和协调,于单块系统不一样,位于分布式系统中的各个组件只有经过约定、高效并且可靠的通讯机制进行相关协调才能完成某一项业务功能。这是在设计和实现分布式系统时首先要考虑的两个方面。tomcat