5.Eureka集群构建及支付模块集群配置—2020最新版周阳SpringCloud(H版&alibaba)学习笔记05

1.Eureka集群构建

1.1Eureka集群原理说明

在这里插入图片描述
解决办法: 搭建Eureka注册中心集群,实现负载均衡+故障容错
在这里插入图片描述

1.2Eureka集群环境构建

(1)新建一个eureka,端口号7002

(2)修改hosts文件

在这里插入图片描述
加入

127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com

(3)配置2个eureka的yml

以前单机版:

server:
  port: 7001

eureka:
  instance:
    hostname: localhost  #eureka服务端的实例名字
  client:
    register-with-eureka: false    #表识不向注册中心注册自己
    fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/    #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址

现在集群模式:

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com  #eureka服务端的实例名字
  client:
    register-with-eureka: false    #表识不向注册中心注册自己
    fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7002.com:7002/eureka/    #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002.com  #eureka服务端的实例名字
  client:
    register-with-eureka: false    #表识不向注册中心注册自己
    fetch-registry: false   #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/    #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址

(4)启动2个eureka

互相注册,相互守望
在这里插入图片描述

配置hosts之后,也可以直接访问http://eureka7001.com:7001/在这里插入图片描述
配置hosts之后,也可以直接访问http://eureka7002.com:7002/,效果相同

1.3将支付和订单微服务注册到eureka集群

微服务单机版时的yml

eureka:
  client:
    register-with-eureka: true #是否将自己注册到注册中心,默认true
    fetchRegistry: true #是否从注册中心抓取已有的注册信息,默认true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    service-url:
      defaultZone: http://localhost:7001/eureka #单机版

现在集群情况下的yml

eureka:
  client:
    register-with-eureka: true #是否将自己注册到注册中心,默认true
    fetchRegistry: true #是否从注册中心抓取已有的注册信息,默认true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    service-url:
      #defaultZone: http://localhost:7001/eureka #单机版
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka #集群版

1.4测试

先启动2个eureka,在启动支付和订单微服务 在这里插入图片描述
在这里插入图片描述
测试,访问成功!

2.支付模块集群配置

2.1新建1个支付微服务端口号8002

(1)粘pom,粘yml改端口。

在这里插入图片描述

(2)修改2个payment的controller

加上端口号,方便测试

 @Resource
    private PaymentService paymentService;
    @Value("${server.port}")
    private String serverport;
    @PostMapping(value = "/payment/create")
    public CommonResult creat(@RequestBody Payment payment){
        int result = paymentService.create(payment);
        log.info("*******插入结果:"+result);
        if(result>0){
            return new CommonResult(200,"插入数据库成功"+serverport,result);
        }else{
            return new CommonResult(444,"插入数据失败");
        }
    }

(3)启动,查看注册中心

在这里插入图片描述
在这里插入图片描述

(4)测试

在这里插入图片描述
在这里插入图片描述
测试成功。
在这里插入图片描述

2.2修改Controller

访问地址不能写死
在这里插入图片描述
并在调用时添加端口,方便验证

@RestController
@Slf4j
public class OrderController {
    //public static final String PAYMENT_URL="http://localhost:8001";//单机版
    public static final String PAYMENT_URL="http://CLOUD-PAYMENT-SERVICE";//集群版,写成服务名称
    @Resource
    private RestTemplate restTemplate;

    @GetMapping("/consumer/payment/create")
    public CommonResult<Payment> create(Payment payment){
        return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class);
    }

    @GetMapping("/consumer/payment/get/{id}")
    public CommonResult<Payment> getPayment(@PathVariable("id") Long id){
        return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class);
    }
}

2.3 开启负载均衡

在这里插入图片描述

2.4测试

订单调用支付时,轮询访问2个支付微服务
在这里插入图片描述在这里插入图片描述
Eureka集群搭建成功,支付服务集群环境部署成功!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值