赞
踩
要说到微服务,还得先说说过去我们的单体应用架构
所谓单体应用架构(All In One)是指,我们把所有服务或者功能都封装在一个应用中。
无论是ERP的其他什么系统,你都把数据库访问,Web访问等等各个功能都放到一个war包内!我们之前开发项目都是这样干的:比如SSM、JavaWeb。
单体应用架构易于我们的开发和测试,方便部署!
单体应用架构的缺点在于,哪怕我需要修改一个非常小的地方,我都需要停掉整个服务,重新打包,再进行部署。特别是对于一个大型的应用,我们不可能把所有的服务或者功能都放在一个应用里面。
所谓的微服务架构,就是打破之前的All In One的架构方式,把每一个功能元素独立出来。它要求我们在开发应用的时候,提倡将一个单一的应用程序划分为一组微小的服务。各个服务之间相互协调、相互配合,服务之间采用轻量级的通信机制互相沟通,通常是基于http的RESTful API。每个服务都围绕着具体的业务进行构建,并且能够被独立的构建在生成环境中。
如何构建一个微服务呢?
一个大型微服务架构,就像通过一个复杂的神经网络,每一个神经元就是一个功能元素,他们各自有各自的功能,并且通过http相互请求调用。比如一个电商系统,查缓存、连数据库、浏览页面、支付、结账等服务都是一个个独立的功能服务,都被微服务化了,它们作为一个个微服务共同构建了一个庞大的系统。如果需要修改其中一个功能,只需要更新升级其中一个功能服务单元即可。
但是这种庞大的系统架构给部署和运维带来了很大的压力,于是,Spring官方为我们带来了构建大型分布式微服务的全套、全程产品:
所以说,Spring官方为我们带来了构建大型分布式微服务的全套、全程产品。
在这里,我们说说SpringBoot和SpringCoud的区别。
SpringBoot专注于快速开发单个个体微服务,被称为快速开发的脚手架。
SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系
SpringCloud是关注全局的单个个体微服务(SpringBoot)之间协调治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:服务注册与发现、负载均衡、服务熔断、服务降级、服务限流等等集成服务。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。