美文网首页
微服务调用实例

微服务调用实例

作者: 耐住寂寞守住繁华_5b9a | 来源:发表于2020-09-14 17:15 被阅读0次

微服务的调用示例

1 修改主机hosts

windows修改主机host方法

  • win+r 输入:C:\WINDOWS\system32\drivers\etc

  • 用notepad++打开hosts文件

  • 修改文件中的127.0.0.1 为yjhou.com的主机名(yjhou可以随便取)

2 项目结构

好处:若不指定侧继承父工程依赖 若指定侧使用自己依赖 可以有两套存在

maven父工程

  • 自身信息(maven坐标)
 <artifactId>micro-service</artifactId>
 <version>1.0-SNAPSHOT</version>
 <packaging>pom</packaging></pre>
  • parent信息
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.3.3.RELEASE</version>
  </parent>
  • modules信息
  <module>eureka-server</module>
  <module>provider-hello</module>
  <module>yjhou</module>
  <module>consumer-hello</module>
  </modules>
  • properties信息
<properties>
     <java.version>1.8</java.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <maven.compile.encoding>UTF-8</maven.compile.encoding>
     <spring-boot.version>2.3.3.RELEASE</spring-boot.version>
     <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
     </properties>
  • dependencies(依赖 )

    • spring-boot-starter-web

    • spring-boot-test

    • spring-boot-starter-actuator

    • lombok

  • dependencyManagement

    • spring-boot-dependencies

    • spring-cloud-dependencies

maven子模块

consumer-hello(消费者:也是客户端)

  • 首先yml文件需要修改
server:
     port: 80  #postman默认的也是80端口
    spring:
     application:
     name: consumer-hello  #在Eureka首页展示的是这个name
    info:
     app:
     name: consumer-hello11  #点击跳转后展示的是这个name
    eureka:
     instance:
     hostname: yjhou.com #主机名   一开始通过win+r修改的主机名字
     prefer-ip-address: true #是否将当前服务的IP注册到Eureka Server
     client:
     service-url:
     defaultZone: http://${eureka.instance.hostname}:9898/eureka/  #9898是服务端的端口号
  • 启动主类(需要加入的注解)

    • @SpringBootApplication

    • @EnableDiscoveryClient(客户端都用这个注解 而不使用@EnableEurekaClient)

  • 启动主类中注入RestTemplate(通过@Bean注入 @Resour来调用)

    /**
     * 创建RestTemplate 示例并通过 @Bean注解注入到IoC容器中
     * @return RestTemplate
     */
     @Bean
     public RestTemplate restTemplate(){
     return new RestTemplate();
     }
  • handler调用
1.png

方法作用:路径传参根据id来查询对应的Music
说明: 1方法有参数需要在方法后面指定 同时在getForObject中加上才字段(如果参数很多,则用逗号隔开)
2 yjhou:8003端口号:8003是你调用的生产者那边配置好的端口号
3 postm调用的路径是写在Handler中的路径("/consumer1/{id}")

注解写法(与之前springboot的控制台写法是一样的)


2.png

注入restTemplate


3.png

方法调用


4.png

privider-hello(生产者:也是客户端)


5.png

3 postman测试结果

6.png 7.png 8.png

相关文章

  • 负载均衡原理分析与源码解读

    负载均衡 每一个被调用服务都会有多个实例,那么服务的调用方应该将请求,发向被调用服务的哪一个服务实例,这就是负载均...

  • 微服务调用实例

    微服务的调用示例 1 修改主机hosts windows修改主机host方法 win+r 输入:C:\WINDOW...

  • 负载均衡与断路器 (四)

    前面在配置服务注册中心的时候说到,一个服务可以有多个实例,那么问题来了,当你去调用服务的时候,怎么决定调用哪个呢?...

  • 说说 Android 服务的生命周期

    每次调用 startService(),onStartCommand() 都会执行。 每个服务只会存在一个实例。 ...

  • Eureka -- 注册中心(2)

    Eureka 的设计理念 服务实例注册到服务中心 服务的注册,本质上就是在服务启动的时候,调用 Eureka Se...

  • 小程序-缩放平移等动画Animation

    微信提供的动画API:wx.createAnimation 创建一个动画实例animation。调用实例的方法来描...

  • 微服务架构的服务发现设计模式

    在我们服务使用 REST API 调用服务时,是需要知道服务实例的网络位置(IP 地址和端口)。 在服务器上运行的...

  • 微服务-进程间通信

    简介 在单体应用中,各模块间是直接通过编程语言调用函数来直接调用的。但在微服务这种分布式应用中,每个服务实例都是一...

  • SpringCloud Eureka注册中心

    首先简单理解一下什么是注册中心:在微服务模式下,同一个服务可能会有多个实例,同一个微服务实例中,又有可能会调用多个...

  • 记一次线上问题排查

    问题描述 环境描述:后台服务部署了两个Tomcat实例 问题描述:调用Http接口(使用域名方式调用),有时候会成...

网友评论

      本文标题:微服务调用实例

      本文链接:https://www.haomeiwen.com/subject/ylizektx.html