Eureka 服务注册中心的建立
Eureka 服务注册中心的建立
Eureka的设计图
先看看设计图留个印象
在eclipse中创建子模块
模块名取为 mircroservicecloud-eureka-7001, 打包方式为jar
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.0</modelVersion>
<parent>
<groupId>com.thc.springcloud</groupId>
<artifactId>mircroservicecloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>mircroservicecloud-eureka-7001</artifactId>
<dependencies>
<!--eureka-server服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
</project>
通过上面的pom文件可以看到, 如果需要引入cloud的一个新技术组件,那么基本上就只需要两步即可
- 新增一个相关的maven坐标, 例如上面的eureka的组件,引入的maven坐标为
<!--eureka-server服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
- 在主启动类上,标注的启动新组件的相关注解的标签
剩下的就是java的业务逻辑编码
yml
application.yml的配置如下
server:
port: 7001 #配置端口为7001
eureka:
instance:
hostname: localhost #eureka服务端的实例名称. 由于目前只有一个eureka, 因此只需写一个localhost
client:
register-with-eureka: false #false表示不向注册中心注册自己。 因为只有客户端才需要向服务中心注册
fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机的设置 ${eureka.instance.hostname} 取出eureka服务实例名称 ${server.port} 取出端口
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
#defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
编写主启动类
package com.thc.springcloud;
@SpringBootApplication
@EnableEurekaServer //EurekaServer 服务器端的启动类, 接收其他微服务注册进来
public class EurekaServer7001_App {
public static void main(String[] args) {
SpringApplication.run(EurekaServer7001_App.class,args);
}
}
启动项目进行测试
运行main方法, 即可启动项目.
启动项目完成后,在浏览器输入http://localhost:7001/
如果出现以下图片的页面, 代表eureka服务启动成功
在图片的左下角可以看到No instances available
, 代表没有服务被发现.
原因是没有服务注册进来, 因此没有服务被发现.