spring cloud+eureka+fegin+ribbon+hystrix+rabbitMQ+sleuth+zipkin+config+dashboard+zuul大合集开发(一)
一、搭建注册中心服务
笔者开发环境jdk1.8,maven3.5.3,开发工具eclipse
一、新建maven父工程
名称为springCloud
修改编译环境为jdk1.8
创建子工程注册中心服务ek-zczx-server
在ek-zczx-server服务中添加依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>1.5.3.RELEASE</version>
</dependency>
</dependencies>
编写启动类
package com.jiudao.znyw.ekserver;
import java.util.Scanner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* Hello world!
*
*/
@SpringBootApplication
@EnableEurekaServer
public class ServerApp
{
public static void main( String[] args )
{
Scanner scan = new Scanner(System.in);
String profiles = scan.nextLine();
new SpringApplicationBuilder(ServerApp.class).profiles(profiles).run(args);
}
}
编写配置文件application.yml
为了启动两个注册中心,因此在配置文件里面配置了两个实例,后面启动两次,分别用不同的实例起来,然后实现相互注册
server:
port: 8761 #端口号8761
spring:
application:
name: first-server #服务名称
profiles: server1 #启动时指定的配置名
eureka:
instance:
hostname: server1 #实例名称
client:
serviceUrl:
defaultZone: http://localhost:8762/eureka/ #注册地址(该项目设计的是起两个注册中心,之间相互注册)
server:
enable-self-preservation: false
server:
port: 8762
spring:
application:
name: second-server
profiles: server2
eureka:
instance:
hostname: server2
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
server:
enable-self-preservation: false
到此注册中心开发完毕,运行刚刚编写的启动类在日志窗口输入server1启动第一个注册中心,然后在浏览器访问localhost:8761若看到下图则说明启动成功
可以看到此时的注册中心并没有实例(服务)注册进来,然后再次运行启动类(前一个不要关闭),然后再日志窗口输入server2启动第二个注册中心,然后再次访问localhost:8761如下图
可以看有两个服务已经注册进来,名称分别为FIRST-SERVER,SECOND-SERVER,对应我们配置文件中配置的服务名称,端口号分别为8761,8762,因为他们之间是互相注册,所以无论访问哪一个端口号都可一看到有两个服务注册了进来;
红字的警告可以先不用管,影响不大,主要是配置文件关于eureka相关配置所导致,想搞清楚的可以复制警告信息取百度,这里不过多说明
下一篇文章创建服务提供者和调用者使用fegin+ribbon实现负载均衡;