springcloud是当前比较成熟的微服务的完整方案,所谓微服务就是基于SOA基础之上,将服务进一步拆分,使得粒度更细化。比如原有的服务可能包含多个功能模块,而微服务则是每个服务代表一个功能。由于粒度细化,那么会涉及到服务之间的相互调用,那么就涉及到服务提供者和服务消费者。所谓服务提供者就是表示该服务提供给其他服务调用,服务消费者则是调用其他服务的服务,每个服务既可以是服务提供者又可以是服务消费者。本文通过一个简单的例子来说明服务提供者和服务消费者的关系,为了更加明显,本文消费者调用的方式采用硬编码的形式。
1.服务提供者---学生微服务
作为服务提供者,就跟普通的springboot项目一致,通过controller层的REST风格的http接口对外提供调用。本文介绍的服务提供者是一个学生基本信息的微服务。首先还是通过IDEA上建立基于Maven管理的spring inittializr的项目,然后选择相应的依赖。
1.1 pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.carson</groupId>
<artifactId>microservice-student</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>microservice-student</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

最低0.47元/天 解锁文章
917

被折叠的 条评论
为什么被折叠?



