一、创建服务注册中心
采用Eureka作为服务注册与发现的组件
1.1 首先创建一个maven主工程。
1.1.1 NewProject -> Maven
1.1.2填写GroupId、ArtifactId
1.1.3选择存储位置
1.2 然后创建2个model工程:一个model工程作为服务注册中心,即Eureka Server,另一个作为Eureka Client。
下面以创建server为例子,详细说明创建过程:
右键工程->创建model-> 选择spring initialir 如下图:
下一步->选择cloud discovery->eureka server ,然后一直下一步就行了。
创建完后的工程,其pom.xml继承了父pom文件,并引入spring-cloud-starter-netflix-eureka-server的依赖,代码如下:
如果是jdk9以上版本则要引入下面几个一起
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
1.3 启动一个服务注册中心,只需要一个注解@EnableEurekaServer,这个注解需要在springboot工程的启动application类上加:
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run( EurekaServerApplication.class, args );
}
}
1.4 eureka server的配置文件,默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件appication.yml:
#应用服务名称
spring.application.name=eureka-server
#端口
server.port=8080
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注册服务地址
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
通过eureka.client.register-with-eureka:false和eureka.client.fetch-registry:false来表明自己是一个eureka server.
1.5 eureka server 是有界面的,启动工程,打开浏览器访问
http://localhost:8080 ,界面如下:
No application available 没有服务被发现 ……^_^
因为没有注册服务当然不可能有服务被发现了。