SpringCloud(第二天加强)

Posted 8888-lhb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud(第二天加强)相关的知识,希望对你有一定的参考价值。

1.使用IP注册服务

a)  修改服务提供者和服务消费者的yml配置文件

eureka:
  instance:
    hostname: localhost
    prefer-ip-address: true #使用IP地址注册到注册中心
    instance-id: PROVIDER-NAME #注册到注册中心的名称
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka

技术图片

b)  prefer-ip-address: true 使用IP地址注册到注册中心
在访问Eureka注册中心的时候,注册到注册中心的服务的访问的IP就不会是127.0.0.1localhost,而是192.168.xx.x

2.服务之间的调用(通信)

a)  建立服务提供者和消费者的公共模块

b)  在消费者和提供者添加对公共服务模块的依赖

c)  在服务提供者模块定义接口(Controller层)

d)  在服务消费者定义controller调用服务提供者controller

            i.     通过restFul风格SpringMVC提供的远程调用工具RestTemplete实现,在主配置类里面配置RestTemplete这个bean交给Spring管理,然后在Controller注入RestTemplete对象.调用服务.

3.Eureka集群:解决单节点故障

a)  修改hosts文件: C:WindowsSystem32driversetchosts
  添加两个服务注册的本地IP域名
  127.0.0.1 eureka-7001.com

  127.0.0.1 eureka-7002.com

b)  修改Eurake配置文件配置

spring:
  application:
    name: spring-cloud-eureka
server:
  port: 7001
eureka:
  instance:
    hostname: eureka-7001.com
  client:
    #不向Eureka注册自己
    register-with-eureka: false
    #不检查其他的EurekaServer节点
    fetch-registry: false
    service-url:
      #设置eureka服务器所在的地址,查询服务和注册服务程序都注册到这个地址(服务暴露的地址)
      defaultZone: http://eureka-7002.com:7002/eureka/

 

c)  搭建另一个注册中心,修改yml配置文件

spring:
  application:
    name: spring-cloud-eureka
server:
  port: 7002
eureka:
  instance:
    hostname: eureka-7002.com
  client:
    #不向Eureka注册自己
    register-with-eureka: false
    #不检查其他的EurekaServer节点
    fetch-registry: false
    service-url:
      #设置eureka服务器所在的地址,查询服务和注册服务程序都注册到这个地址(服务暴露的地址)
      defaultZone: http://eureka-7001.com:7001/eureka/

 

d)  修改客户端注册到Eurake的路径

spring:
  application:
    name: SPRING-CLOUD-USER //如果服务提供者做了集群的时候这里的name必须相同
server:
  port: 8001   //服务提供者
eureka:
  instance:
    hostname: localhost
    prefer-ip-address: true #使用IP地址注册到注册中心
    instance-id: USER-CLIENT// 如果服务提供者做集群的时候这个instance-id 一定不能相同
client: service-url: #设置eureka服务器所在的地址,查询服务和注册服务程序都注册到这个地址(服务暴露的地址) #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ defaultZone: http://peer1:7001/eureka,http://peer2:7002/eureka  //向两个注册中心注册服务

 

以上是关于SpringCloud(第二天加强)的主要内容,如果未能解决你的问题,请参考以下文章

6.16 入职第二天

小学期倒数第二天

springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found(代码片段

Spring第二天——IOC注解操作与AOP概念

mybatis第二天

mybatis第二天——大纲待更新