AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
创建一个**Maven**项目 microservice-eureka-server ~~~bash mvn archetype:generate -DgroupId=com.shiyanlou -DartifactId=microservice-eureka-server -DarchetypeArtifactId=maven-archetype-quickstart ~~~ 依赖如下: ~~~xml <?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 http://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.0.7.RELEASE</version> <relativePath/> </parent> <groupId>com.shiyanlou</groupId> <artifactId>microservice-eureka-server</artifactId> <version>0.0.1-SNAPSHOT</version> <name>microservice-eureka-server</name> <description>Demo project for Spring Boot</description> <dependencies> <!-- 引入 Netflix eureka server 依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 引入spring cloud的依赖,不能少,主要用来管理Spring Cloud生态各组件的版本 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> ~~~ * 编写启动类`App.java`,该类是程序的启动入口 ~~~java package com.shiyanlou; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } ~~~ * 编写配置文件`resources/application.yml` ~~~yaml server: port: 8080 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ~~~ 简单介绍一些配置属性: 1. registerWithEureka: 表示是否需要将自身也加入 Eureka Server 中,默认为 true。当前实例本身就是 Eureka Server,故设置为 false。 2. fetchRegistry:是否需要从其他 Eureka Server 获取注册信息,默认为 true。本次实验采用的是一个单点 Server,无需同步其他 Server 的注册信息,故设置为 false。 3. serviceUrl.defaultZone:当前 Eureka Server 的交互地址,多个地址可用`','`号隔开。 > 若有需要自定义配置,如搭建高可用的 Eureka Server,可查看官方文档:[https://cloud.spring.io/spring-cloud-netflix/multi/multi\_spring-cloud-eureka-server.html](https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-eureka-server.html) * 最终目录结构 ![](https://img.kancloud.cn/70/16/701654327d7f4d42c9792998f0b748cb_327x246.png) * 运行 ~~~bash mvn spring-boot:run ~~~ 当出现一下日志信息的时候,说明 Eureka Server 已经启动成功。 ~~~txt ... 2019-03-15 10:46:17.362 INFO 3658 --- [ Thread-13] c.n.e.r.PeerAwareInstanceRegistryImpl : Changing status to UP 2019-03-15 10:46:17.373 INFO 3658 --- [ Thread-13] e.s.EurekaServerInitializerConfiguration : Started Eureka Server 2019-03-15 10:46:17.390 INFO 3658 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8761 (http) with context path '' 2019-03-15 10:46:17.391 INFO 3658 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8080 2019-03-15 10:46:17.394 INFO 3658 --- [ main] .c.m.MicroserviceEurekaServerApplication : Started MicroserviceEurekaServerApplication in 6.508 seconds (JVM running for 7.022) ~~~ * 尝试访问 点击 web 服务,即可访问`Eureka Dashboard`,如下图所示: ![](https://img.kancloud.cn/fb/ca/fbca5351af0b80d5d37842560e695e43_1920x969.png) 此时在`Instances currently registered with Eureka`区域没有任何实例存在,不要着急,接下来我们来完善上一节的项目。