论文部分内容阅读
近年来,随着云计算及虚拟化技术的发展,同时也伴随着电子商务和移动互联网的兴起,对企业级应用程序的开发要求越来越高,特别是在应用程序的规模,业务的复杂度,海量的业务数据等,对开发人员的技术要求也越来越高,对运维人员的工作内容与质量也随之加重。在这种情势下,传统单体式架构的RS10系统应用已逐渐暴露出它的缺陷。传统单体式架构的应用通常以归档包(WAR包,EAR包等)的形式包含所有应用功能,相关的前台模块以及若干后台业务模块最终都被打包在一个WAR包中。单体应用有其自己的优点,在项目初期,单体应用可以很好的进行开发,部署,测试及运行。然而,随着需求的不断增加,功能的不断丰富,开发人员的更迭,程序的日积月累,同时随着时间的推移,单体架构的应用变得越来越臃肿,可扩展性以及可维护性逐渐降低,系统的灵活性也会越来越低。人员的更迭和需求的频繁变更,将会逐渐形成应用程序的技术债务,并且越积越多,还有就是应用的复杂性也会随着时间的推移变得十分庞大,整个项目包含的模块非常多,不同开发人员的代码质量参差不齐,最终会导致模块间的依赖关系混乱,越来越模糊的模块边界。此时,就需要有一种新的架构模式来彻底地解决在传统单体式应用中所出现的问题,随着近年来越来越多的企业应用部署在云上,微服务架构的应用逐渐成为主流的软件架构。它不仅解决了传统单体式架构应用的固有缺点,同时给我们做企业应用提供了新的架构模式,适应了当下云计算和虚拟化大环境下对企业软件的要求。