简介:什么是微服务?
就目前而言,对于微服务业界并没有一个统一的、标准的定义
但通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。
以上是业界大佬Martin Fowler的原话,算是目前对微服务最好的诠释,这个问题也经常被面试官提到,所以这段话还是必须得记下来。
前言:由于springcloud的更新特别频繁,而且springboot和springcloud版本之间有相互依赖关系,如果版本不匹配,会发生很多奇怪的异常(这个问题特别恶心,我被这个坑过很多次),且后续我们还会在此项目中整合一系列第三方框架,都对版本依赖比较强,所以开始创建项目之前,声明一下本项目的开发环境:
springboot: 2.3.6
springcloud: Hoxton.SR9
jdk: 1.8
maven: 3.6.x
- idea: 2020.2.1
tips:如果不想用此版本的springboot,可以在官网查询对应的版本依赖关系,根据自己需要选择合适的版本。
依赖关系:
https://start.spring.io/actuator/info
spring官网:
https://spring.io/projects
后期我会采用maven父子结构来搭建微服务,便于jar包管理,接下来开始创建一个maven父工程一、打开idea,新建项目