springboot集成eureka

2023-11-19

分为3个项目来讲解: 注册中心,provider,consumer

注册中心

注册中心pom.xml添加:

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

再添加(注意这个version目前是Hoxton.SR1,以后升级了可能会变):

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>Hoxton.SR1</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

application.yml

server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server  #eureka实例的主机名
  client:
    register-with-eureka: false #不注册本身到Eureka注册中心
    fetch-registry: false #不从Eureka注册中心获取服务的注册信息
    service-url:
      defaultZone: http://localhost:8761/eureka/

EurekaSpringBootApplication代码:

@EnableEurekaServer//启用Eureka服务
@SpringBootApplication
public class EurekaSpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaSpringBootApplication.class, args);
    }
}

启动项目,访问:http://localhost:8761/ 即可看到注册中心页面。

provider项目

除了注册中心刚才添加的,pom.xml额外添加:

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

application.yml代码:

#启动端口
server:
  port: 8001
#项目名称
spring:
  application:
    name: provider
#eureka配置
eureka:
  instance:
    prefer-ip-address: true #使用服务的id地址注册
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

ProviderSpringBootApplication代码:

@EnableEurekaServer//启用Eureka服务
@SpringBootApplication
public class ProviderSpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderSpringBootApplication.class, args);
    }
}

TicketService代码:

@Service
public class TicketService {
    public String getTicket(){
        return "动车票";
    }
}

TicketController代码:

@RestController
public class TicketController {
    @Autowired
    TicketService ticketService;
    @GetMapping("/ticket")
    public  String getTicket(){
        return  ticketService.getTicket();
    }
}

启动项目。

consumer

pom.xml参照刚才server和client都要。
application.yml代码:

server:
  port: 8002
spring:
  application:
    name: consumer
eureka:
  instance:
    prefer-ip-address: true #使用服务的id地址注册
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

ConsumerSpringBootApplication代码:

@EnableEurekaServer//启用Eureka服务
@SpringBootApplication
public class ConsumerSpringBootApplication {
    @Bean
    @LoadBalanced//启用负载均衡机制
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
    public static void main(String[] args) {
        SpringApplication.run(ConsumerSpringBootApplication.class, args);
    }
}

UserController代码:

@RestController
public class UserController {
    @Autowired
    RestTemplate restTemplate;
    @GetMapping("/buy")
    public String buyTicket(String name){
        String template = restTemplate.getForObject("http://PROVIDER/ticket", String.class);
        return name+"购买了"+template;
    }
}

启动项目。

效果

注册中心如图(8001是provider,8002是consumer):在这里插入图片描述

浏览器输入: http://localhost:8002/buy?name=zhangsan
返回: zhangsan购买了 动车票

该项目git地址为:
https://github.com/1054294965/boot-eureka

其他

配置例子

### 注册中心地址
eureka.client.serviceUrl.defaultZone=http://registerserver-pool.${DOMAIN}:8889/eureka
# 使用自自定义ip地址
eureka.instance.preferIpAddress=true 
# 实例规则是 ip+端口号
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

eureka清理无效节点的默认时间

默认时间是60秒。 停止或启动服务之后,立刻刷新eureka页面是看不到效果的,最好等2分钟。

eureka:
  server:
    # 开启自我保护模式(开启状态下服务停掉eureka不会立即清除掉宕掉的服务,所以false)
    enable-self-preservation: false
    # 清理无效节点,默认60*1000毫秒,即60秒
    eviction-interval-timer-in-ms: 5000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot集成eureka 的相关文章

随机推荐

  • List[Bean]与jsonArray字符串的相互转换

    List User 与jsonArray字符串的相互转换 object testo725 def main args Array String Unit val lili User User lili 15 val tom User Use
  • Windows基础命令

    一 目录和文件的应用操作 1 cd命令 cd d d 切换d盘目录 因为改变了驱动器 所有需要加上 d 选项 cd c 如果没有改变驱动器号 就不需要加 d 选项 目录分为相对路径和绝对路径 相对路径 以当前为起点 代表的是当前路径 代表的
  • 稀疏技术——使用MATLAB编写

    稀疏技术 使用MATLAB编写 导读 核心思想 具体代码 结果 导读 本文源于武老师电力系统仿真课程的其中一个作业 了解 SPICE的同学可能知道SPICE SimulationProgram with Integrated Circuit
  • 架构设计之如何写架构设计说明书

    架构设计是需求分析到软件实现的桥梁 也是决定软件质量的关键 编制架构设计说明书是开发人员向架构师转变必定会经历的过程 在架构师整个的成长过程中 必定会经历编制架构设计说明书 评审架构设计说明书以及根据业务需求分析设计系统架构的三个过程 作为
  • 全面介绍:从零开始学习Playwright白动化测试框架

    01 简介 Playwright是2021年微软开源的一个项目 playwright python 针对 Python 语言的纯自动化工具 它可以通过单个API自动执行 Chromium Firefox 和 WebKit 浏览器 同时支持以
  • 6-3 简单求和 (10分)

    6 3 简单求和 10分 本题要求实现一个函数 求给定的N个整数的和 函数接口定义 intSum intList intN 其中给定整数存放在数组List 中 正整数N是数组元素个数 该函数须返回N个List 元素的和 裁判测试程序样例 i
  • Unity客户端面试题集锦

    正在求职中 近期准备开始求职的小伙伴们看过来 贴心的我 这次又给大家准备了 面试题大礼包 Unity游戏开发工程师的面试过程中 我们总能接触到许多眼熟的面试题目 这部分的分数如果不小心丢了 那才是最可惜的 大厂的大门只会早早就在你眼前关上
  • AngularJS学习入手资料

    这是一个非常好的入门技术学习网站 非常棒 就在这里学习吧 http www runoob com angularjs angularjs tutorial html 这个网站有别人学习的例子 例子可以直接下载 http javahonk c
  • 服务器系统2022安装wsl2,手把手教你踩坑:老白的Docker for Windows安装初探WSL 2 backend...

    手把手教你踩坑 老白的Docker for Windows安装初探WSL 2 backend 2020 06 16 13 29 47 15点赞 63收藏 4评论 创作立场声明 老白的踩坑记录 嗨 大家好 前几日老白对Docker for W
  • 【Vue】从0-1全系列Vue教程带你启航!

    hello 我是小索奇 Vue js 已经备好文章 预更新哈 涵盖 Vue2 和 Vue3 涵盖代码示例 拓展内容 图解 疑难解答 让大家用最通俗的方式来学会 Vue 本系列会考虑到新手 会由浅入深 即使你是老玩家 也可以收藏备用 其中有很
  • offer审批被刷的可能性_HR辛辣提问:“你目前有几个offer?”聪明人会怎么回答?...

    很多同学在面试中 都可能被HR辛辣的问题突袭 当HR突然冷不丁问你一句 你目前手里有几个offer 回答这个问题的最佳方式 是如实回答 还是有选择地回应呢 最怕空气突然安静 今天有见就教你几种方法 01没有offer 没有 就说没有 可以说
  • SpringMvc Controller中几种参数的绑定

    1 SpringMVC默认支持的绑定类型有 2 HttpServletRequest对象 通过request对象可以获取参数信息 3 HttpServletResponse对象 通过response对象可以处理响应信息 4 HttpSess
  • 计算机系统课程 笔记总结 CSAPP第四章 处理器体系结构(4.1-4.3)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • ChatGPT办公应用:制作PPT大纲

    正文共 617字 阅读大约需要 4 分钟 解决方案专家必备技巧 您将在4分钟后获得以下超能力 制作PPT大纲 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 Kim 编辑者 Yuke PPT技能是一项重要办公
  • PID算法理论,运用,代码编写详解

    什么是PID 我相信能来看这篇文章的应该都知道什么是PID PID就是一种控制算法 利用比例运算 P 积分运算 I 和微分运算 D 一起控制某一事件 当然也可以只运用其中一个也可以两两结合 运用举例 比如我们家里都会有的那个电热水器 有点热
  • msvcp140.dll丢失的4种解决方法,快速修复msvcp140.dll文件

    msvcp140 dll丢失在所有的dll文件丢失里面 也算是经常丢失的老油条了 我们应该对它都不陌生吧 不过直到今天都还有人不知道怎么修复msvcp140 dll文件 小编觉得非常有必要来给大家详细的说说吧 聊一下msvcp140 dll
  • android获取缓存大小并清理缓存

    本文主要注重介绍实战操作 理论知识可能介绍的不多 勿喷 简单说两句缓存的好处 采用缓存 可以进一步大大缓解数据交互的压力 又能提供一定的离线浏览 下边我简略列举一下缓存管理的适用环境 1 提供网络服务的应用 2 数据更新不需要实时更新 哪怕
  • 数学建模的LINGO基础

    LINGO是Linear Interactive and General Optimizer的缩写 即 交互式的线性和通用优化求解器 由美国LINDO系统公司 Lindo System Inc 推出的 可以用于求解非线性规划 也可以用于一些
  • Operator ‘

    如何解决Operator cannot be applied to java lang String java lang String 或者Operator cannot be applied to java lang String jav
  • springboot集成eureka

    分为3个项目来讲解 注册中心 provider consumer 注册中心 注册中心pom xml添加