简介

Netflix Eureka是微服务系统中最常用的服务发现组件之一,非常简单易用。当客户端注册到Eureka后,客户端可以知道彼此的hostname和端口等,这样就可以建立连接,不需要配置。

Eureka 服务端

添加Maven依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

添加注解@EnableEurekaServer到Spring Boot的启动类中:

package com.pkslow.cloud.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
public static void main(String[] args) {
SpringApplication.run(EurekaServer.class, args);
}
}

配置端口号:

server:
port: 8761
eureka:
client:
fetch-registry: false
register-with-eureka: false

然后启动服务,在浏览器中打开: http://localhost:8761/

我们就可以看到服务端的信息了,但目前还没客户端注册。

Eureka客户端

只有注册到Eureka服务端的服务,才能被其它服务发现。

添加依赖如下:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

添加注解@EnableEurekaClient

package com.pkslow.cloud.rest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication
@EnableEurekaClient
public class RestService {
public static void main(String[] args) {
SpringApplication.run(RestService.class, args);
}
}

把服务端的地址配置好:

spring.application.name=rest-service
server.port=8081
pkslow.admin=larry|18|admin@pkslow.com
eureka.client.service-url.defaultZone: http://localhost:8761/eureka
eureka.instance.prefer-ip-address=true
management.endpoints.web.exposure.include=*

注意这个spring.application.name是很关键的,以它为名字注册到Eureka。

启动该服务,并刷新Eureka服务端的页面:

就可以看到有服务注册上来了。

代码

代码请看GitHub: https://github.com/LarryDpk/pkslow-samples

最新文章

  1. pg gem 安装(postgresql94)
  2. java的基础知识运算符
  3. 我的第一篇博客/markdown
  4. RSA的傻瓜原理
  5. kail2 linux 安装vmware tools
  6. DL4J (DeepLearning for java)
  7. 减少C++代码编译时间的方法
  8. GPIO的8种工作模式
  9. php随机生成福彩双色球号码
  10. [OSGI]Eclipse4.2 OSGI依赖Bundle
  11. spark开发
  12. 实现GridControl行动态改变行字体和背景色
  13. ACM Adding Reversed Numbers(summer2017)
  14. CSS学习笔记六:写原生导航栏
  15. wxpython多线程通信的应用-实现边录音边绘制音谱图
  16. 用js简单实现一下迪克斯特拉算法
  17. centos 安装nginx笔记
  18. JavaScript -- FileSystemObject-文件
  19. C#中的枚举(Enum)你知道多少呢?
  20. MySQL 事务 是对数据进行操作,对结构没有影响,比如创建表、删除表,事务就不起作用

热门文章

  1. 九、Django3的ASGI
  2. &lt;一&gt;从指令角度了解函数堆栈调用过程
  3. vue3 页面跳转
  4. Python基础部分:5、 python语法之变量与常量
  5. 《ASP.NET Core技术内幕与项目实战》精简集-目录
  6. 通过jmeter连接人大金仓数据库
  7. Vue3 企业级优雅实战 - 组件库框架 - 4 组件库的 CSS 架构
  8. xshell登陆,查看中文日志出现乱码
  9. 关于 python3 中的多线程的问题及理解
  10. tomcat 随windows启动