在Eureka Server 集群基础上,使用Spring RestTemplate,结合Ribbon功能进行服务调用,使用方式非常简单。

1、在主项目中新建一个模块,eurekaclient,maven依赖,

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

2、application.yml配置文件,

spring:application:name: eurekaclient
server:port: 8080shutdown: graceful
eureka:client:service-url:defaultZone: http://peer1:8761/eureka/

3、在启动类中定义RestTemplate,通过Spring Cloud的@LoadBalanced注解可以支持Ribbon开启负载均衡。

@LoadBalanced
@Bean
public RestTemplate restTemplate() {return new RestTemplate();
}

4、在logservice服务中开发一个接口,供eurekaclient服务调用,

@RestController
@RequestMapping("log")
public class LogController {@GetMapping("logInfo")public String logInfo(String logInfo) {System.out.println(logInfo);return logInfo;}}

5、在eurekaclient中定义一个Service类,通过@Component注解添加到容器中,使用restTemplate调用logservice服务,

@Component
public class LogServiceClient {@Autowiredprivate RestTemplate restTemplate;public String logInfo(String logInfo) {return restTemplate.getForObject("http://logservice/log/logInfo?logInfo="+logInfo, String.class);}}

在eurekaclient中定义接口,调用步骤5中的Service类的logInfo方法,

@RestController
@RequestMapping("client")
public class TestController {@Autowiredprivate LogServiceClient logServiceClient;@GetMapping("getClientInfo")public String getClientInfo() {String info = "log info";return logServiceClient.logInfo(info);}
}

6、浏览器输入eurekaclient中定义的接口地址,http://localhost:8080/client/getClientInfo

7、测试Ribbon负载均衡也很方便,只需要启动logservice的多个实例

Spring Cloud 之 Ribbon,Spring RestTemplate 调用服务相关推荐

  1. Spring Cloud入门-Ribbon服务消费者(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Ribbon简介 RestTemplate的使用 GET请求方法 getForObject方法 getForEntity方法 POST请求方法 p ...

  2. Spring Cloud Eureka 入门 (三)服务消费者详解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "真正的进步 ...

  3. spring cloud 之 Ribbon

    1.Ribbon是什么 Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具.Netflix Ribbon 是 Netflix 公司发布 ...

  4. Spring Cloud应用接入华为云微服务CSE

    概述 Spring Cloud应用可以方便的接入CSE提供的基础服务.接入CSE服务有如下好处: 开发者可以专注于业务系统的开发,把精力从中间件的可靠性评估.集群部署.运维监控等复杂的事情中解放出来. ...

  5. 【Spring Cloud Alibaba】Spring Cloud Alibaba 服务注册与发现实践

    1. 简介 服务注册与发现是微服务架构体系中最关键的组件之一.如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容.Nacos Disc ...

  6. spring cloud整合Ribbon

    spring cloud整合Ribbon 使用Eureka中自带的Ribbon 如果你使用的是Eureka做服务发现和注册的话,在比较新版本的Eureka中,Eureka已经集成了Ribbon进入Eu ...

  7. spring解耦_云端时代的解耦:使用Spring Cloud Azure构建云端原生微服务

    spring解耦 重要要点 云本机应用程序应充分利用云的优势,而不仅仅是迁移到云中 通过在云计算环境上运行,微服务与云原生环境并驾齐驱 集中配置,服务发现,异步消息驱动和分布式跟踪是微服务基础架构 S ...

  8. Spring Cloud Alibaba 学无止境:下一代微服务架构的规划与展望

    终于到了课程的最后一讲,本讲我们将对整个微服务架构和 Spring Cloud Alibaba 进行总结和展望.Spring Cloud Alibaba 是优秀的国产微服务架构解决方案,在基于 Spr ...

  9. Dubbo将积极适配Spring Cloud生态,Spring Cloud体系或将成为微服务的不二选择!

    2016年,我在博客中发表过一篇<微服务架构的基础框架选择:Spring Cloud还是Dubbo?>(http://blog.didispace.com/microservice-fra ...

  10. Spring Cloud(5)---基于 Spring Cloud 完整的微服务架构实战

    基于 Spring Cloud 完整的微服务架构实战 技术栈 Spring boot - 微服务的入门级微框架,用来简化 Spring 应用的初始搭建以及开发过程. Eureka - 云端服务发现,一 ...

最新文章

  1. 修改上传附件大小限制方法
  2. java基础69 JavaScript产生伪验证码(网页知识)
  3. 韩寒 一个 新版本 android 收藏,韩寒的应用《ONE·一个》正式登陆Android平台,韩寒称一年运营成本约250万...
  4. QDir类cleanPath函数用法
  5. relativelayout中按键不能点_CNC | M80/M800系列系统常见按键和外部存储器故障
  6. MYSQL常用操作(一)之设置ROOT密码,连接,常用命令
  7. 数组图形的一些数学操作 有可能考试会遇到哦
  8. java 解析标记语言_Java XML可扩展标记语言(eXtensible Markup Language)
  9. oracle进行日志切换,Oracle存档日志切换案例操作
  10. 图片切换ajax,jQuery AJAX全屏图文幻灯切换
  11. CCF NOI1022 平均年龄
  12. mysql 字段唯一效率_对于同一个字段使用唯一性索引和非唯一性索引,效率有区别吗???...
  13. 兄dei,你的代码死循环了吗?
  14. 0基础小白,如何入门数学建模?
  15. 【CLion】新手使用之编译运行单个文件
  16. 前端性能优化:7.页面渲染优化
  17. android 实现点击水波纹,Android 水波纹点击效果(Ripple Effect)
  18. curl: (1) Protocol “‘http“ not supported or disabled in libcurl的解决方法
  19. PS怎么做抽象流彩油画丙烯画效果
  20. JavavEE中网络编程Socket套接字Ⅱ(TCP)

热门文章

  1. Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(2) - 总线封锁/缓存封锁
  2. iDesktop点数据集构建DEM时三种插值方式的选择
  3. Android之SurfaceView学习(二)
  4. Unity Shader:用几何着色器实现复联3灭霸的终极大招灰飞烟灭
  5. Unity Editor自制工具(1)--“Editor目录栏按钮+全局搜索方法+自制Editor窗口”实现搜索与删除场景中任意名称游戏物体
  6. jq选中单选框后文本框不可编辑_3个Excel工作表的数据输入编辑技巧,助你工作更轻松...
  7. Unreal Engine 4 基于网格的水面模拟实现
  8. fatal error: Eigen3/Core: 没有那个文件或目录
  9. Vue-cli 2在webpack内使用雪碧图(响应式)
  10. SQL Server 2012安装配置(Part2 )