当前位置: 首页 > news >正文

服务治理中间件-Eureka

目录

简介

搭建Eureka服务

注册服务到Eureka


简介

Eureka是Spring团队开发的服务治理中间件,可以轻松在项目中,实现服务的注册与发现,相比于阿里巴巴的Nacos、Apache基金会的Zookeeper,更加契合Spring项目,缺点就是仅仅只有服务发现与治理功能。

搭建Eureka服务

在项目中,创建一个新的Module,可以通过IDEA快速创建

点击Create即可创建一个Module,同时引入Eureka依赖。

在启动类中,添加@EnableEurekaServer注解

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

在main文件中,创建资源文件夹resources,并创建application.yml文件,内容为

server:# 配置服务端口port: 8081
eureka:client:service-url:# 配置eureka服务器地址defaultZone: http://127.0.0.1:${server.port}/eureka#是否需要将自己注册到注册中心(注册中心集群需要设置为true)register-with-eureka: false#是否需要搜索服务信息 因为自己是注册中心所以为falsefetch-registry: false

启动Module后,浏览器输入

http://localhost:8081/

即可打开Eureka

注册服务到Eureka

对于某个服务,注册到Eureka的流程如下:

【1】在该服务的启动类中添加 @EnableEurekaClient注解

@SpringBootApplication
@EnableEurekaClient
public class ServiceAApplication {public static void main(String[] args) {SpringApplication.run(ServiceAApplication.class, args);}}

【2】在该服务的配置文件中,添加如下配置

server:# 服务端口号port: 8082
spring:application:# 服务名称 - 服务之间使用名称进行通讯name: service-objcat-a
eureka:client:service-url:# 填写注册中心服务器地址defaultZone: http://localhost:8081/eureka# 是否需要将自己注册到注册中心register-with-eureka: true# 是否需要搜索服务信息fetch-registry: trueinstance:# 使用ip地址注册到注册中心prefer-ip-address: true# 注册中心列表中显示的状态参数instance-id: ${spring.cloud.client.ip-address}:${server.port}

效果如下图:下图包含了2个服务,其中服务A有两个实例

可以通过Eureka,为某个微服务,指定多个实例,Eureka会轮询多个实例中可以正常提供服务的实例,从而实现分流。

http://www.lryc.cn/news/298563.html

相关文章:

  • Javaweb之SpringBootWeb案例之异常处理功能的详细解析
  • 苹果Mac键盘如何将 F1 到 F12 取消按Fn
  • linux下ipconfig命令报:command not found 解决方法
  • Android导入其它项目慢,Gradel下载失败,另辟蹊径:使用离线gradle加载,附镜像方式
  • 神经语言程式(NLP)项目的15 个开源训练数据集
  • H5 红色文字抖动网址发布页/引导页源码
  • MacOS - 菜单栏上显示『音量』
  • 深入理解常见的设计模式
  • 服务器解析漏洞及任意文件下载
  • ES6扩展运算符——三个点(...)用法详解
  • 限制资源使用
  • 结合Next项目实际认识webpack.splitChunks
  • 【Tauri】(2):使用Tauri应用开发,使用开源的Chatgpt-web应用做前端,使用rust 的candle做后端,本地运行小模型桌面应用
  • C#where T :通用的泛型约束(generic constraint)语法
  • vue使用Mars3d弹框嵌套video视频/实时视频(m3u8)使用hls.js
  • Python爬虫之Ajax数据爬取基本原理
  • osg操控器和键盘切换操控器学习
  • LeetCode1143. Longest Common Subsequence——动态规划
  • 利用Windows10漏洞破解密码(保姆级教学)
  • apk反编译修改教程系列---简单修改apk默认横竖屏显示 手机端与电脑端同步演示【十一】
  • 2301: 不定方程解的个数
  • vue3学习——封装菜单栏
  • 深度学习的进展及其在各领域的应用
  • blender怎么保存窗口布局,怎么设置默认输出文件夹
  • 【开源】基于JAVA+Vue+SpringBoot的实验室耗材管理系统
  • 【ES】--Elasticsearch的分词器详解
  • 【算法】{画决策树 + dfs + 递归 + 回溯 + 剪枝} 解决排列、子集问题(C++)
  • sqlserver 存储过程
  • C语言什么是悬空指针?
  • AES加密后的密码可以破解吗