注册中心已经创建并启动完成Eureka编写注册中心服务_白衣不尘-CSDN博客注册中心在微服务架构中是必不可少的一部分,主要用来实现服务治理功能。Spring Cloud Eureka是一个基于REST的服务,并且提供了基于Java的客户端组件,能够非常方便的讲服务注册到Spring Cloud Eureka中进行统一管理。 CAP定理:C为数据一致性;A为服务可用性;P为服务对网络分区故障的容错性。Eureka是基于AP原则构建的,Zookeeper是基于CP原则构建的。使用Eureka编写注册中心服务的步奏如下:第一、创建项目,添加依赖如...https://blog.csdn.net/qq_40386113/article/details/120286572?spm=1001.2014.3001.5501 接下来我们实现将一个服务提供者注册到Eureka中,并将该服务的一个接口提供出来供其它服务调用。
第一步:创建一个项目,添加如下依赖
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</dependencyManagement>
第二步:启动类上添加注解@EnableDiscoveryClient 该注解表示当前服务是一个Eureka的客户端
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class EurekaPropApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaPropApplication.class, args);
System.out.println("项目启动成功!");
}
}
第三步:配置文件application.yml
spring:
application:
name: smile-eureka-client
server:
port: 8081
eureka:
client:
serviceUrl:
defaultZone: http://smile:111111@localhost:8761/eureka/
#采用IP注册
instance:
prefer-ip-address: true
#定义实例ID格式
instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
注意:eureka.client.serviceUrl.defaultZone的地址就是我们之前启动的Eureka服务的地址,在启动的时候需要将自身的信息注册到Eureka中去。需要特别注意的是smile:111111这部分内容,因为我在Eureka注册中心,也就是Eureka服务端使用了Security,设置了Security的用户名为smile,密码为111111 所以在这个地方要这样书写,通过代码告诉程序,我要注册到的Eureka服务端需要Security验证,验证的用户名和密码分别是smile和111111
第四:验证
启动Eureka客户端,通过idea控制台可以看到以下信息
表示Eureka客户端注册成功。
除此之外,我们可以打开前面启动好的Eureka服务端页面,通过服务端控制台页面也可以看到注册成功
第五:编写一个测试接口,测试服务提供是否成功
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@GetMapping("/user/hello")
public String hello(){
return "hello";
}
}
通过Eureka服务端控制台内注册的id信息,加上接口地址测试调用是否成功,如果成功,则证明接口提供成功了