SpringCloud系列二:Springcloud 服务提供者和服务消费者

一.服务提供者

完整的目录结果如下:

1. 搭建maven工程(略)

2. 修改pom文件,引入依赖,注意看关键依赖上的注释

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.wx</groupId>
	<artifactId>cloud_cart_client</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<!-- 统一配置版本 -->
	<properties>
		<java.version>1.8</java.version>
		<mybatis-spring.version>1.2.1</mybatis-spring.version>
		<druid.version>1.1.10</druid.version>
		<fastjson.version>1.2.31</fastjson.version>
	</properties>
	<!-- 使用dependencyManagement进行版本管理 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Camden.SR6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- 引入eureka 客户端依赖 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>
		<!-- 引入ribbon 依赖 ,用来实现负载均衡,我们这里只是使用,先不作其他介绍 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-ribbon</artifactId>
		</dependency>
		<!-- fastjson -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${fastjson.version}</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<!-- 设置通过jdk1.8编译项目 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- 可通过maven命令运行项目和打包运行 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>

		</plugins>
	</build>
</project>

3. 编写springboot配置文件,如图:

4. 创建启动类:

5. 对外提供服务的接口如下图所示:

6. 启动并测试:

观察启动日志,你会发现有提示说向注册中心注册了服务的提示,如下图

访问eureka注册中心,发现服务已经注册成功了

 

二.服务消费者

完整的目录结果如下:

1. 搭建maven工程(略)

2. 修改pom文件,引入依赖,注意看关键依赖上的注释

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.wx</groupId>
	<artifactId>cloud_cart_client</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<!-- 统一配置版本 -->
	<properties>
		<java.version>1.8</java.version>
		<mybatis-spring.version>1.2.1</mybatis-spring.version>
		<druid.version>1.1.10</druid.version>
		<fastjson.version>1.2.31</fastjson.version>
	</properties>
	<!-- 使用dependencyManagement进行版本管理 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Camden.SR6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- 引入eureka 客户端依赖 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>
		<!-- 引入ribbon 依赖 ,用来实现负载均衡,我们这里只是使用,先不作其他介绍 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-ribbon</artifactId>
		</dependency>
		<!-- fastjson -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${fastjson.version}</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<!-- 设置通过jdk1.8编译项目 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- 可通过maven命令运行项目和打包运行 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>

		</plugins>
	</build>
</project>

3. 编写springboot配置文件,如图:

4. 创建启动类:

大家发现了没有,服务提供者和服务消费者都要用到@ EnableDiscoveryClient注解,而且springboot配置的Eureka注册中心都是一样的,说明一个应用既可以作为服务提供者,又可以来消费其它的服务。

5.服务消费的controller如下图所示:

6. 启动并测试:

观察启动日志,你会发现有提示说向注册中心注册了服务的提示,如下图

访问eureka注册中心,发现服务已经注册成功了

接下来,我们进行一下服务消费,如图所示:

三.总结

以上实例实现了基本的服务治理:

通过spring-cloud-starter-eureka-server和@EnableEurekaServer实现服务注册中心

通过spring-cloud-starter-eureka和@EnableDiscoveryClient注册到【注册中心】并提供服务

通过spring-cloud-starter-eureka和@EnableDiscoveryClient注册到【注册中心】并发现服务

 

猜你喜欢

转载自blog.csdn.net/wx5040257/article/details/108557984