theme: scrolls-light
这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战
上一篇文章《上手实践Spring Cloud Eureka 和 Feign(一)》讲到了服务注册与发现的简单概念,这篇文章直接上手实践Eureka,启动一个服务注册中心,以及将业务服务注册到这个中心上。
二、Eureka
Eureka作为Spring Cloud的服务注册中心,我们需要引入Spring Cloud相关的依赖,其次我们需要启动一个Eureka注册服务中心,最后为了验证服务注册的功能,需要启动一个web 服务注册到注册中心。
2.1 Eureka的Spring Cloud 依赖
首先,我们将创建一个新的 Maven pom 项目模块,并将Spring Cloud的的依赖放入,这个依赖将决定Spring Cloud 相关组件Starter的版本。
“`maven
2020.0.1
org.springframework.cloud
spring-cloud-dependencies
${version.spring-cloud}
pom
import
“` Spring Cloud 依赖的版本我用的比较新,根据实际工程选择合适的即可。
2.2 注册中心
我们新建一个子模块管理Eureka的注册中心服务,在这里要引入Eureka的Server依赖包。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
然后写一个启动类Launcher
,目的是把服务启动起来,包含的内容如下。 “`java @SpringBootApplication @EnableEurekaServer public class Launcher {
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
} `application.yml`的配置信息如下。
properties server.port=8761 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false “ 此时启动服务,浏览器上访问URL
http://{yourhost}:8761`,如下图所示,表示服务注册中心启动成功,能提供服务注册和发现的功能。
2.3 服务提供方
在有了服务注册中心后,我们可以启动一个服务去注册到服务注册中心,这些服务都统统成为Eureka Client,所以要引入Client相关的依赖。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
我们提供一个简单的greeting
api接口。 “`java public interface GreetingController {
@GetMapping("/greeting")
String greeting();
} 然后在启动类`Launcher`去实现这个接口。
java @SpringBootApplication @RestController public class Launcher implements GreetingController {
@Autowired
@Lazy
private EurekaClient eurekaClient;
@Value("${spring.application.name}")
private String appName;
@Override
public String greeting() {
return String.format(
"Hello from '%s'!", eurekaClient.getApplication(appName).getName());
}
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
} “ 配置文件
application.yml`的内容如下。
“`yml spring: application: name: spring-cloud-eureka-client
server: port: 0 eureka: client: serviceUrl: defaultZone: ${EUREKA_URI:http://localhost:8761/eureka} instance: preferIpAddress: true “` 然后启动这个服务,观察Eureka的服务管理页面,可以看到有服务注册成功。
此时,服务的提供方也准备好了,接下来就需要去消费这个服务了。
少年,没看够?点击石头的主页,随便点点看看,说不定有惊喜呢?欢迎支持点赞/关注/评论,有你们的支持是我更文最大的动力,多谢啦!