笔记

2、微服务调用方式之ribbon实战 订单调用商品服务
    简介:实战电商项目 订单服务 调用商品服务获取商品信息
        1、创建order_service项目
        2、开发伪下单接口
        3、使用ribbon. (类似httpClient,URLConnection)

启动类增加注解
              @Bean
              @LoadBalanced
              public RestTemplate restTemplate() {
                   return new RestTemplate();
              }
        4、根据名称进行调用商品,获取商品详情

开始

商品的服务的controller里面注入端口号。

就会获取到配置文件的这里的端口号

把一个对象里面的属性拷贝到另一个对象里面。然后把数据方便加上端口号



再启动一个8772的节点

启动的另外一个节点

注册中心默认是启动的

开发OrderService



初始化中




注册中心,这是一个client

最终选择了这三个依赖




order这个服务也需要往注册中心去注册,所以需要服务发现。pom.xml这里eureka-client已经引入了。

ribbon,封装了http请求,客户端的负载均衡

创建domain的包下面新建实体类ProductOrder.java

定义这几个属性,然后生成getter和setter

新建OrderController


新建Service层

service层和service的实现类



开发下单接口

这里完善后,还差一个商品的详情,就需要去调用商品的服务

可能会去用HttpClient或者是UrlConnection去调用。这样普通的http调用不能去调用集群和负载均衡的策略

使用ribbon

所以这里要用ribbon去调用。
启动类里面加注释

在启动类里面引入

注入restTemplate,然后调用方法

在Eureka里面有个product-servie

在商品的微服务里面配置了服务的名称就是product-service

订单的服务配置文件修改格式为yml

然后增加订单的配置文件的配置。端口改为8781。然后服务名称为order-service


controller里面进行调用

启动订单的服务,进行测试

调用订单的服务

打印出了商品的信息

再次刷新页面,请求数据。再次的端口请求的是8772。因为商品的服务开了两个端口

客户端随即选择了要调用的服务端。这是客户端的负载均衡

每次刷新端口都不一致

商品服务再开一个8773的节点

Eureka里面可以看到注册了三个Product的服务节点

多刷新几次,但是这里访问的还是8771和8772的 并没有访问到8773的节点

调用的时候是跟注册中心定时去拿的地址,需要等一会的一段。定时拿到了新的服务地址就可以了

注意的地方

启动类里面加上了restTemplte这里要加上负载均衡的注解。@LoadBalanced

转载于:https://www.cnblogs.com/wangjunwei/p/11443506.html

小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...相关推荐

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_汇总

    小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...

  2. [转]微服务与Docker

    在Docker上运行微服务 在过去的两年里,微服务架构已经成了非常热门的名词,它出现在很多论坛.视频.演讲中.作为一种更灵活.可靠.开放的架构,其应用实践也越来越多.近日,来自七牛云存储.DaoClo ...

  3. 中间件和微服务,Docker以及原生云架构的关系

    IT世界的技术更新非常迅速.一年前我曾写过一篇关于:微服务是否是企业服务总线和其他中间件的死亡魔法.本文章是之前文章的后续以及关于微服务.容器和原生云架构的中间件关系讨论的更新.各种规模的企业正在以令 ...

  4. 【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战

    系列目录 [Spring Cloud Alibaba](一)微服务介绍 及 Nacos注册中心实战 本文目录 系列目录 前言 什么是RPC? Feign和OpenFeign都是什么? HTTP调用 v ...

  5. spring cloud 微服务调用--ribbon和feign调用

    这里介绍ribbon和feign调用两种通信服务调用方式,同时介绍如何引入第三方服务调用.案例包括了ribbon负载均衡和hystrix熔断--服务降级的处理,以及feign声明式服务调用.例子包括s ...

  6. SpringCloud详细教程(上)

    [订阅专栏合集,关注公众号,作者所有付费文章都能看(持续更新)] 推荐[SpringCloud教程]https://blog.csdn.net/hellozpc/article/details/836 ...

  7. 【谷粒商城高级篇】商品服务 商品上架

    谷粒商城笔记合集 分布式基础篇 分布式高级篇 高可用集群篇 ===简介&环境搭建=== ===Elasticsearch=== 项目简介与分布式概念(第一.二章) Elasticsearch: ...

  8. 海量数据大课学习笔记(12)-账号微服务-阿里云OSS接入实战-小滴课堂

    文章目录 前言 第1集 分布式文件存储业界常见解决方案介绍 第2集 阿里云OSS分布式对象存储介绍开通 第3集 权限知识 RBAC-ACL模式应用之阿里云RAM访问控制 第4集 阿里云OSS客户端SD ...

  9. 海量数据大课学习笔记(4)-商⽤短链平台-功能需求介绍和微服务拆分讲解-小滴课堂

    文章目录 前言 第1集 学以致用-商用短链平台需求文档拆分和总结 第2集 商用短链平台-微服务拆分和技术栈版本说明 第3集 商用短链平台-业务架构图讲解 前言 小滴课堂,旨在让编程不在难学,让技术与生 ...

  10. 海量数据大课学习笔记(8)-账号微服务注册模块+短信验证码+阿里云OSS开发实战-小滴课堂

    文章目录 前言 第1集 账号微服务注册功能和流程介绍 第2集 第三方短信验证码平台接入申请操作指引 第3集 账号微服务短信验证码发送工具类封装实战 第4集 账号微服务短信验证码发送工具类单元测试 前言 ...

最新文章

  1. 图解Tomcat类加载机制(阿里面试题)
  2. java学习_java学习原理篇|java程序运行套路
  3. 在下列计算机应用项目中,属于过程控制应用领域的是,计算机基础试题.ppt
  4. 设计素材模板|春节要来了,素材准备好了么?
  5. cnn输入层_一文掌握CNN卷积神经网络
  6. java 双分派_双分派 和 访问者模式详解 | 学步园
  7. 关于JDK中的集合总结(二)
  8. attachEvent传递给其handler的一个默认参数
  9. PHPnow中ZendDebugger与ZendOptimizer 共存
  10. 计算机流体仿真,ANSYS FLUENT 计算流体力学软件
  11. 包工协议书样本_模板工程承包协议书
  12. Python实现pdf转图片
  13. USB数据线串联电阻知识总结
  14. 六一儿童节就要过去了,您是否因为工作忙绿而没办法陪孩子玩
  15. adb基本操作及环境配置
  16. 大数据开发教程——企业级离线数据仓库项目实战开发
  17. 泉州地区的“会子”是一种怎样的制度?
  18. html parser java库_Java解析HTML之HTMLParser使用与详解
  19. 程序员眼中的优秀记帐软件
  20. 专利挖掘及专利布局规划

热门文章

  1. 前天我看见了一只兔子,昨天是一头小鹿,而今天则是你
  2. python面试题汇总_【Python环境】Python面试题汇总(一)
  3. 拓端tecdat|R语言分解商业周期时间序列数据:线性滤波器、HP滤波器、Baxter King滤波器、Beveridge Nelson分解等去趋势方法
  4. 拓端tecdat|R语言自然语言处理(NLP):情感分析新闻文本数据
  5. springboot学习笔记1
  6. hibernate教程笔记9
  7. C小项目 简易英汉词典
  8. 最新遥感图像解译标准数据集--202105
  9. 利用卷积神经网络(CNN)提取图片特征
  10. sklearn实践之——计算回归模型的四大评价指标(explained_variance_score、mean_absolute_error、mean_squared_error、r2_score)