基于微服务架构,改造企业核心系统之实践1.背景与挑战随着公司国际化战略的推行以及本土业务的高速发展,后台支撑系统已经不堪重负。在吞吐量、稳定性以及可扩展性上都无法满足日益增长的业务需求。对于每10万元额度的合同,从销售团队准备材料、与客户签单、递交给合同部门,再到合同生效大概需要3.5人天。随着业务量的快速增长,签订合同的成本急剧增加。合同管理系统是后台支撑系统中重要的一部分。当前的合同系统是5年前使用.NET基于SAGECRM二次开发的产品。一方面,系统架构过于陈旧,性能、可靠性无法满足现有的需求。另一方面,功能繁杂,结构混乱,定制的代码与SAGECRM系统耦合度极高。由于是遗留系统,熟悉该代码的人早已离职多时,新团队对其望而却步,只能做些周边的修补工作。同时,还要承担着边补测试,边整理逻辑的工作。相关厂商内容一路走来技术人的创业故事未来物联网中智能硬件的角色人工智能的技术版图全球架构师峰会深圳站,07月15-16日,华南地区最大规模的技术盛会!相关赞助商ArchSummit深圳2016将于7月15-16在华侨城洲际大酒店举行,3月20日前立减2040元!在无法中断业务处理的情况下,为了解决当前面临的问题,团队制定了如下的策略:1).在现有合同管理系统的外围,构建功能服务接口,将系统核心的功能分离出来。2).利用这些功能服务接口作为代理,解耦原合同系统与其调用者之间的依赖;3).通过不断构建功能服务接口,逐渐将原有系统分解成多个独立的服务。4).摒弃原有的合同管理系统,使用全新构建的(微)服务接口替代。2.什么是微服务多年来,我们一直在技术的浪潮中不断乘风破浪,扬帆奋进,寻找更好的方式构建IT系统。微服务架构(MicroServiceArchitect)是近一段时间在软件体系架构领域里出现的一个新名词。它通过将功能分解到多个独立的服务,以实现对解决方案或者复杂系统的解耦。微服务的诞生并非偶然:领域驱动设计指导我们如何分析并模型化复杂的业务;敏捷方法论帮助我们消除浪费,快速反馈;持续交付促使我们构建更快、更可靠、更频繁的软件部署和交付能力;虚拟化和基础设施自动化(InfrastructureAsCode)则帮助我们简化环境的创建、安装;DevOps文化的流行以及特性团队的出现,使得小团队更加全功能化。这些都是推动微服务诞生的重要因素。实际上,微服务本身并没有一个严格的定义。不过从业界的讨论来看,微服务通常有如下几个特征:小,且专注于做一件事情每个服务都是很小的应用,至于有多小,是一个非常有趣...