Spring Cloud 基于Spring Boot 2.0.6的服务注册与发现(Eureka)

Spring Cloud 基于Spring Boot 2.0.6的服务注册与发现(Eureka)

  • 创建服务注册中心
    • pom.xml配置
    • yml配置
    • Application.java
  • 启动服务注册中心
  • 创建服务提供者
    • pom.xml配置
    • yml配置
    • Application.java
    • 示例服务
  • 启动示例服务

创建服务注册中心

pom.xml配置


<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.0modelVersion>

	<groupId>com.jigroupId>
	<artifactId>eureka-serverartifactId>
	<version>1.0.0version>
	<packaging>jarpackaging>

	<name>eureka-servername>
	<description>Spring Cloud projectdescription>

	<parent>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-parentartifactId>
		<version>2.0.6.RELEASEversion>
		<relativePath/> 
	parent>

	<properties>
		<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
		<java.version>1.8java.version>
	properties>

	<dependencies>

		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-testartifactId>
			<scope>testscope>
		dependency>

		<dependency>
			<groupId>org.springframework.cloudgroupId>
			<artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
		dependency>

	dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloudgroupId>
				<artifactId>spring-cloud-dependenciesartifactId>
				<version>Finchley.SR2version>
				<type>pomtype>
				<scope>importscope>
			dependency>
		dependencies>
	dependencyManagement>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.bootgroupId>
				<artifactId>spring-boot-maven-pluginartifactId>
			plugin>
		plugins>
	build>
project>

yml配置

spring:
  application:
    name: feign-consumer
server:
  port: 3333
eureka:
  instance:
    hostname: localhost
    status-page-url: http://localhost:${server.port}/swagger-ui.html
  client:
    service-url:
      defaultZone: http://localhost:1111/eureka/

Application.java

@EnableEurekaServer
@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

启动服务注册中心

启动Spring Boot项目,在浏览器中输入http://localhost:1111即可进入Eureka主页面。
Spring Cloud 基于Spring Boot 2.0.6的服务注册与发现(Eureka)_第1张图片

创建服务提供者

pom.xml配置


<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.0modelVersion>

	<groupId>com.jigroupId>
	<artifactId>compute-serviceartifactId>
	<version>1.0.0version>
	<packaging>jarpackaging>

	<name>compute-servicename>
	<description>Spring Cloud projectdescription>

	<parent>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-parentartifactId>
		<version>2.0.6.RELEASEversion>
		<relativePath/> 
	parent>

	<properties>
		<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
		<java.version>1.8java.version>
	properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
		dependency>
		<dependency>
			<groupId>org.springframework.cloudgroupId>
			<artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
		dependency>
		<dependency>
			<groupId>org.projectlombokgroupId>
			<artifactId>lombokartifactId>
		dependency>

		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-testartifactId>
			<scope>testscope>
		dependency>

		<dependency>
			<groupId>com.spring4allgroupId>
			<artifactId>swagger-spring-boot-starterartifactId>
			<version>1.8.0.RELEASEversion>
		dependency>

	dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloudgroupId>
				<artifactId>spring-cloud-dependenciesartifactId>
				<version>Finchley.SR2version>
				<type>pomtype>
				<scope>importscope>
			dependency>
		dependencies>
	dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.bootgroupId>
				<artifactId>spring-boot-maven-pluginartifactId>
			plugin>
		plugins>
	build>
project>

yml配置

spring:
  application:
    name: compute-service
server:
  port: 2222
eureka:
  instance:
    hostname: localhost
    status-page-url: http://localhost:${server.port}/swagger-ui.html
  client:
    service-url:
      defaultZone: http://localhost:1111/eureka/

Application.java

@EnableEurekaClient
@SpringBootApplication
@EnableSwagger2Doc
public class Application {

	public static void main(String[] args) {
		new SpringApplicationBuilder(Application.class).run(args);
	}

}

示例服务

@RestController
@Slf4j
public class ComputeController {

    @Autowired
    EurekaRegistration eurekaRegistration;

    @RequestMapping(value = "/add" ,method = RequestMethod.GET)
    public Integer add(@RequestParam Integer a, @RequestParam Integer b) {
        Integer r = a + b;
        log.info("/add, host:" + eurekaRegistration.getHost()+ ", service_id:" + eurekaRegistration.getServiceId() + ", result:" + r);
        return r;
    }
}

启动示例服务

在浏览器中输入http://localhost:1111即可进入Eureka主页面。
Spring Cloud 基于Spring Boot 2.0.6的服务注册与发现(Eureka)_第2张图片

点击compute-service的status列进入项目中配置的status页即服务提供者swagger-ui页面

Spring Cloud 基于Spring Boot 2.0.6的服务注册与发现(Eureka)_第3张图片

你可能感兴趣的:(SpringCloud)