spring cloud eureka微服务之间的调用详解
微服务之间的调用如何实现
首先 你需要两个或以上的微服务模块 至于怎么创建可以参考我上一篇博客 spring cloud eureka注册中心
如果想在页面显示 那么需要先加上
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
这个thymeleaf依赖 springboot推荐使用thymeleaf模板 它的最大好处就是原型即是模板 后缀是html
html文件 需要放在resources/templates文件夹下 因为thymeleaf自动配置的就是这个地址 当然也可以自己改
还需要配置一个属性
spring: thymeleaf: cache: false #开发时关闭缓存 否则无法看到实时页面
然后在html页面加上这个
就可以使用thymeleaf模板了
然后在消费端的启动类中 加上此方法
@Bean // 自动扫描 @LoadBalanced //这个注解的意思是在启动时先加载注册中心的域名列表 public RestTemplate restTemplate() //这个方法用来发http请求 { RestTemplate restTemplate=new RestTemplate(); return restTemplate; }
看一下controller中的代码
@Autowired private RestTemplate restTemplate; @RequestMapping(value = "index") public String toIndex(Model model){ String msg=restTemplate.getForEntity("http://PROJECT-POPPY-SOLR/search",String.class).getBody(); model.addAttribute("msg",msg); return "index"; }
它的getForEntity方法中 传入的想要调用的方法以及它所在的地址 注意 这里不能直接写ip地址 必须写往注册中心注册过之后的项目名 要想直接写项目名必须在启动类上面的方法中加上@LoadBalaced注解
否则ip地址如果发生变化 就需要更改 特别麻烦 作为一个优秀的程序员 当然是不能这么干的
然后把它放到model中发到页面 就可以调用另一个微服务的方法 实现了微服务间的调用
还有一个调用的方法是feign 以后会讲解
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
细说Springcloud eureka的几种主动下线服务的方式
本文会介绍几种eureka 注册中心服务下线的方式 补充:在启动eureka服务的时候发现控制台有以下的输出 由此猜想可以通过改接口下线服务, 于是尝试了一下 果然能从注册中心中移除该实例 1. 直接停掉服务. 默认情况下,如果Eureka Server在90秒没有收到Eureka客户的续约,它会将实例从其注册表中删除.但这种做法的不好之处在于, 客户端已经停止了运行,但仍然在注册中心的列表中. 虽然通过一定的负载均衡策略或使用熔断器可以让服务正常进行,但有没有方法让注册中心马上知道服务已经下线
-
SpringCloud之服务注册与发现Spring Cloud Eureka实例代码
一.Spring Cloud简介 Spring Cloud是一个基千SpringBoot实现的微服务架构开发 工具.它为微服务架构中涉及的 配置管理.服务治理. 断路器. 智能路由.微代理. 控制总线. 全局锁. 决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品,还可能会新增),如下所述. Spring Cloud Config: 配置管理工具.Spring Cloud Netflix: 核心组件
-
详解SpringCloud eureka服务状态监听
一.前言 近期由于公司不同平台项目之间的业务整合,需要做到相互访问! 每个平台均有自己的注册中心和服务,且注册中心相互之间并没有相互注册! 借助spring的事件监听,在eureka-server端监听服务注册,将所有服务的ip和port存放至redis库,然后让其他平台服务通过redis库获取ip和端口号,进而进行http调用.结构图如下: 二.事件解析 事件列表 在org.springframework.cloud.netflix.eureka.server.event包下会发现如下类: E
-
SpringCloud Eureka实现服务注册与发现
前言 Eureka是一种基于REST(具像状态传输)的服务,主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移.本文记录一个简单的服务注册与发现实例. GitHub地址:https://github.com/Netflix/eureka 官网文档:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RC2/single/spring-cloud-netflix.html Eureka-Ser
-
SpringCloud Eureka服务发现实现过程
这篇文章主要介绍了SpringCloud Eureka服务发现实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Eureka服务端集群开发 1.先创建一个父工程 若是不是普通demo,还有别的配置时,需要注意若是服务开不起来可能就是父类依赖中可能会需要<dependencyManagement>这个标签. 2.再创建两个子工程 1.导入依赖 <dependency> <groupId>org.springfr
-
最简单的Spring Cloud教程第一篇:服务的注册与发现(Eureka)
前言 本文主要给大家介绍关于Spring Cloud服务注册与发现(Eureka)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环境简单,可以在开发人员的电脑上跑.另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定
-
Spring-cloud-eureka使用feign调用服务接口
Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下 基于spring-boot 2.0以上版本完成的微服务架构 pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE<
-
Spring Cloud EureKa Ribbon 服务注册发现与调用
概述 用一个简单的例子演示Spring Cloud中EureKa和Ribbon的基本用法. 版本和环境 IDEA Spring Boot 1.5.·0 JDK 1.8 Maven 3 构建eureka server 在Spring Cloud,可以使用eureka来管理微服务,微服务可以注册到eureka中. 首先可以用IDEA的Spring Initialzr 来创建eureka server注册中心. 修改application.properties文件,添加如下内容 spring.appl
-
spring cloud eureka微服务之间的调用详解
微服务之间的调用如何实现 首先 你需要两个或以上的微服务模块 至于怎么创建可以参考我上一篇博客 spring cloud eureka注册中心 如果想在页面显示 那么需要先加上 compile 'org.springframework.boot:spring-boot-starter-thymeleaf' 这个thymeleaf依赖 springboot推荐使用thymeleaf模板 它的最大好处就是原型即是模板 后缀是html html文件 需要放在resources/templates文件夹
-
spring cloud中微服务之间的调用以及eureka的自我保护机制详解
上篇讲了spring cloud注册中心及客户端的注册,所以这篇主要讲一下服务和服务之间是怎样调用的 不会搭建的小伙伴请参考我上一篇博客:idea快速搭建spring cloud-注册中心与注册 基于上一篇的搭建我又自己搭建了一个客户端微服务: 所以现在有两个微服务,我们所实现的就是微服务1和微服务2之间的调用 注册中心就不用多说了,具体看一下两个微服务 application.yml配置也不用说了,不知道怎么配置的请参考我上篇博客 在project-solr中的constroller中: @R
-
Spring Cloud Eureka 注册与发现操作步骤详解
在搭建Spring Cloud Eureka环境前先要了解整个架构的组成,常用的基础模式如下图: 服务提供者:将springboot服务编写好以后,通过配置注册中心地址方式注册,提供给消费者使用. 注册中心:服务的中间桥梁,服务提供者将服务注册.服务消费者可以通过注册信息调用需要使用的服务. 服务消费者:通过规定的调用方式,读取注册中心的注册信息,调用相应的服务. 根据后续的服务复杂度进化以后,可以看到服务提供者也可以是服务消费者,服务消费者也可以是服务提供者.根据不同的业务情况是可以互相调用的
-
Spring Cloud Alibaba微服务组件Sentinel实现熔断限流
目录 Sentinel简介 Sentinel具有如下特性: 安装Sentinel控制台 创建sentinel-service模块 限流功能 创建RateLimitController类 根据URL限流 自定义限流处理逻辑 熔断功能 与Feign结合使用 使用Nacos存储规则 原理示意图 功能演示 Sentinel简介 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Sentinel 作为其核心组件之一,具有熔断与限流等一系列服务保护功能,本文将对其用法进行详细介
-
spring boot微服务自定义starter原理详解
这篇文章主要介绍了spring boot微服务自定义starter原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用spring boot开发微服务后,工程的数量大大增加(一定要按照领域来切,不要一个中间件客户端包一个),让各个jar从开发和运行时自包含成了一个重要的内容之一.spring boot starter就可以用来解决该问题(没事启动时别依赖于applicationContext.getBean获取bean进行处理,依赖关系
-
Spring Cloud Config分布式配置中心使用介绍详解
目录 1.分布式配置中心应用场景 2.Spring Cloud Config 2.1.Config简介 2.2.Config分布式配置应用 2.3.构建Config Server统一配置中心 2.4.构建Client客户端(在已有简历微服务基础上) 1.分布式配置中心应用场景 往往,我们使用配置文件管理⼀些配置信息,比如application.yml 单体应用架构:配置信息的管理.维护并不会显得特别麻烦,手动操作就可以,因为就一个工程: 微服务架构:因为我们的分布式集群环境中可能有很多个微服务,
-
Spring Cloud应用实现配置自动刷新过程详解
这篇文章主要介绍了Spring Cloud应用实现配置自动刷新过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过spring cloud 的消息总线,将配置github 等源代码仓库的变更通知到spring cloud 的所有组件. spring-bus 需要用到rabbitmq ,所以需要提前准备rabbitmq消息队列环境 配置中心调整 1.配置中心配置引用pom <dependency> <groupId>org.
-
Spring cloud alibaba之Gateway网关功能特征详解
目录 1.网关简介 2.什么是spring cloud gateway 2.1核心概念 3.Spring Cloud Gateway快速开始 5.路由断言工厂(Route Predicate Factories)配置 6.自定义路由断言工厂 7.Filter过滤器 8.自定义过滤器 9.自定义全局过滤器(Global Filters) 10.Gateway跨域配置(CORS Configuration) 11.Gateway整合Sentinel进行流控 12.流控配置说明 13.自定义重写流控返
-
SpringCloud微服务熔断器Hystrix使用详解
目录 什么是Hystrix Hystrix实战 总结 什么是Hystrix 在日常生活用电中,如果我们的电路中正确地安置了保险丝,那么在电压异常升高时,保险丝就会熔断以便切断电流,从而起到保护电路安全运行的作用. 在货船中,为了防止漏水和火灾的扩散,一般会将货仓进行分割,避免了一个货仓出事导致整艘船沉没的悲剧,这就是舱壁保护机制. Hystrix提供的熔断器也类似,在调用某个服务提供者时,当一定时间内请求总数超过配置的阈值,且窗口期内错误率过高,那Hystrix就会对调用请求熔断,后续的请求直接
-
Java微服务开发之Swagger详解
目录 一.Swagger的作用和概念 1.Swagger 的优势 2.SwaggerUI 特点 2.SpringBoot集成Swagger 3.配置Swagger 4.实体配置 5.其他皮肤 一.Swagger的作用和概念 官方地址:https://swagger.io/ Swagger 是一个规范且完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务以及 集成Swagger自动生成API文档. Swagger 的目标是对 REST API 定义一个标准且和
随机推荐
- 举例详解AngularJS中ngShow和ngHide的使用方法
- java 归并排序的实例详解
- webpack中引用jquery的简单实现
- JavaScript 计算笛卡尔积实例详解
- js 显示base64编码的二进制流网页图片
- Linux fgetcsv取得的数组元素为空字符串的解决方法
- JavaScript通过使用onerror设置默认图像显示代替alt
- Python处理json字符串转化为字典的简单实现
- php实现文件与16进制相互转换的方法示例
- 基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
- PHP中ini_set和ini_get函数的用法小结
- c#显示当前在线人数示例
- MSSQL 大量数据时,建立索引或添加字段后保存更改提示超时的解决方法
- jQuery 实现自动填充邮箱功能(带下拉提示)
- js 三级关联菜单效果实例
- C#实现获取鼠标句柄的方法
- 如何保障IIS的安全避免服务器遭到攻击
- ThinkPHP3.1新特性之Action参数绑定
- 磁盘配额的wmi版本(C#)
- C#与Java的MD5简单验证(实例代码)