springboot与微服务

什么是微服务

 微服务是一种架构风格,是与传统的单体架构相对,有以下一些区别。

单体架构(ALL IN ONE),所有的模块都在一个工程中,统一的打包发布在一个服务器上,

springboot与微服务_第1张图片

然后后续服务压力大需要扩容,也是同样的把整个应用复制到其他的服务器上。

springboot与微服务_第2张图片

这种架构具有易开发、测试、部署的优点,各个模块之前同调用也都是在一个进程内。而我们仔细的思考不难发现这种架构也是有许多缺点,比如代码有一点改动就需要重发发布,或者是一些不重要的服务故障导致整个服务不可用等缺点。

为了解决以上问题,微服务就隆重登场了。微服务是把一个单体应用根据业务划分成多个独立的模块,每个模块独立开发部署并使用自己的数据库,各个模块之前可以通过http或者是RPC或者是MQ进行通信,极大的降低了系统之间的耦合度。

springboot与微服务_第3张图片

这样即时一个模块故障,也不至于导致整个服务不可用,我们可以实际的需求对服务模块进行扩容,核心业务服务可以多部署一些机器,访问量很小的则可以适当的减少。并且不同的服务还可以使用不同的语言进行开发,不像前面的单体架构一个工程的开发语言就只能使用一种语言。

微服务架构就是对单一应用按业务拆分成多个独立部署的服务。

一个应用被拆分成多个应用也就意味着我们需要创建多个工程,如果还是使用spring开发,那我们就需要对每一个工程进行大部分都相同的大量配置,这对于开发人员来说显然是不太友好的,因为我们的springboot就应运而生了。

springboot是对spring框架的封装,用约定大于配置的思想大大简化了使用spring框架需要配置的众多配置项,让程序员拿来即可用,把更多的时间和精力放在实现业务逻辑上。提高开发效率。

它具有以下一些优点

springboot与微服务_第4张图片

 

 

 

 

 

你可能感兴趣的:(springboot)