个人理解微服务:
开发项目过程中,单体开发的话也可能是将功能分成多个模块,但是是在一个大文件夹当中。其中调用不同功能的函数的时候,相当于内部导包调用函数。
但是真正的微服务,他实现了模块化,每个模块专注一个功能,每个模块都是单独的项目,比如有Springboot启动类,并且你需要建立一个cloud微服务(springcloud(在eureka或nacos上将微服务注册)),然后启动这个微服务,再把之前分工好的微服务模块通过application类启动。这个时候就能实现微服务之间的调用。比如我之前项目做的邮件发送模块,就是在nacos上注册好微服务,然后在需要邮件发送逻辑的微服务里面,通过feign调用发出邮件发送的请求,这个时候邮件发送模块就进行功能的实现,这就是一个简单的微服务调用流程。
本地的就直接都写在一个项目下面分成的小文件夹中,虽然也是模块化处理了,但是效率低:开发都在同一个项目改代码,相互等待,冲突不断。维护难:代码功功能耦合在一起,新人不知道何从下手。不灵活:构建时间长,任何小修改都要重构整个项目,耗时