近年来互联网彻底改变了人们的生活方式,给人们的工作和生活带来了便捷。随着互联网技术的发展和业务的需求,传统的IT建设已经满足不了客户的需求,那么我们的IT架构也需要作出相应的改进,来支撑企业的数字化转型。
最早是应用是单体架构,后来为了具备一定的扩展和可靠性,就有了垂直架构,也就是加了个负载均衡,接下来是前几年比较火的SOA,主要讲了应用系统之间如何集成和互通,而到现在的微服务架构则是进一步在探讨一个应用系统该如何设计才能够更好的开发、管理更加灵活高效。微服务架构的基本思想就是“围绕业务领域组件来创建应用,让应用可以独立的开发、管理和加速”。
一、微服务架构存在的问题
接下来我们来看看引入微服务架构后带来的问题有哪些。
1、依赖服务变更很难跟踪,其他团队的服务接口文档过期怎么办,依赖的服务没有准备好,如何验证我开发的功能。
2、部分模块重复构建,跨团队、跨系统、跨语言会有很多的重复建设。
3、微服务放大了分布式架构的系列问题,如分布式事务怎么处理,依赖服务不稳定怎么办?
4、运维复杂度陡增,如:部署物数量多、监控进程多导致整体运维复杂度提升。
上面这些问题我们应该都遇到过,并且也会有一些解决方案,比如提供文档管理、服务治理、服务模拟的工具和框架;实现统一认证、统一配置、统一日志框架、分布式汇总分析;采用全局事务方案、采用异步模拟同步;搭建持续集成平台、统一监控平台等等。
二、微服务架构的优势
1、是每个微服务组件都是简单灵活的,能够独立部署。不再像以前一样,应用需要一个庞大的应用服务器来支撑。
2、可以由一个小团队负责更专注专业,相应的也就更高效可靠。
3、微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩展。
4、微服务架构与语言工具无关,自由选择合适的语言和工具,高效的完成业务目标即可。
微服务的另一个重要特征是,与单一应用程序不同的是——单一程序根据应用程序的不同层级来定义团队:用户界面团队,服务器端团队,数据库团队等——微服务允许公司围绕特定业务功能来构建团队。这反过来又驱使团队具备了跨职能能力,从而拥有了一系列更强大的技能:用户体验、数据库管理、项目管理等。这使我们进一步走进DevOps时代。
转载请注明:http://www.0431gb208.com/sjszjzl/1523.html