蹉跎莫遣韶光老,人生唯有读书好。这篇文章主要讲述为什么需要微服务相关的知识,希望能为你提供帮助。
【为什么需要微服务】业务发展初期,业务流量很小,对业务迭代效率的要求很高,使用单体服务开发灵活,部署简单。随着业务的快速发展,业务复杂度越来越高,同时业务开发人员也急剧增加,单体服务逐渐暴露出来一些问题,主要问题如下:
一、传统单体问题
- 开发效率低
- 可维护性差
- 架构扩展性差
- 部署不灵活
- 健壮性差
二、什么是微服务微服务就是为了解决单体服务的上述问题而生的,微服务架构是将单个服务拆分成一系列小服务,这些小服务都拥有独立的进程,通过HTTP RESTful API之类的轻量级通信方式进行通信,而作为独立的业务服务,则可采用一些自动化部署机制独立部署,每个服务可以使用不同的开发语言和数据存储技术,实现去中心化的服务管理。
微服务架构的核心诉求是支撑业务敏捷开发和部署,因此微服务架构的本质是如何优雅地支持微服务的“拆分”和“组合”,如何进行合理的架构拆分,如何最大限度地减少微服务之间沟通的成本,这是微服务架构的关键所在。
微服务不只是个技术问题,更多的是关于组织和团队的问题,系统架构和组织之间存在映射关系,如果组织结构不支持,则无法建立高效的系统架构,反之也是这样。
三、微服务的收益互联网业务的两个显著特点是业务发展快和业务高并发,微服务在这两个方面均有很大的收益,通过有效支撑业务创新和高并发架构,微服务架构成为传统架构演进时的必然选择。
通过将单个服务拆分成多个微服务,多个微服务可以独立开发、独立测试、独立运维,不同团队可以并行开发,互不影响,可以有力地支撑业务的快速迭代,方便业务创新和试错。
互联网业务通过业务模式创新和运营模式创新,用户和流量变化很快,需要从架构层面支撑业务流量的伸缩变化。微服务架构将单个服务拆分为多个子服务,每个微服务均可以独立进行容量评估,非常灵活,可以很好地支撑业务的高并发需求。
推荐阅读
- 虚拟用户启用vsftp的文件共享
- #导入Word文档图片# Linux下网络编程(socket)
- MDT8456部署Windows系列 : 技巧篇—制作MDT客户端目标OU下拉列表并自定义显示名
- 聊聊Mybatis的数据源之工厂模式
- Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
- #yyds干货盘点# 解决剑指offer(翻转单词序列)
- 这篇SpringCloud GateWay 详解,你用的到
- #yyds干货盘点# leetcode算法题( 删除有序数组中的重复项)
- Nginx架构篇(16)Rewrite - 访问目录URL自动添加“/”