springcloud笔记

本文介绍了如何在不指定URL的情况下,使用OpenFeign通过服务注册中心(如Nacos)找到`wepay-service`,并在SpringCloud应用中实现负载均衡的远程调用过程。特别关注了在容器化环境下的服务地址配置和解析方法。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

OpenFeign

找到目标api

@FeignClient有url时,很简单

@FeignClient(name = "example-service", url = "http://example.com/api")
public interface MyFeignClient {

    @GetMapping("/endpoint")
    String getRemoteData();
}

无url时

@FeignClient(name = "wepay-service")
@RequestMapping("/internal/v3")
public interface WePayMapper {

   /**
    * JSAPI调起支付API
    * https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter4_1_4.shtml
    * */
   @PostMapping("/pay/partner/transactions/jsapi")
   String pay(@RequestBody PostPayParam param);

    /**
     * 商户订单号查询
     * https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter4_1_2.shtml#part-02
     * */
    @GetMapping("/pay/partner/transactions/out-trade-no/{out_trade_no}")
    String getOrderByOutNo(@PathVariable String out_trade_no, @RequestParam String sp_mchild, @RequestParam String sub_mchid);

如何找到wepay-service

只使用 name 属性而不指定 url 属性,OpenFeign 将会通过服务注册中心来发现服务的实例,并且会使用负载均衡算法选择其中一个实例进行远程调用。

使用nacos

在调用者服务的配置文件里:

spring:
  cloud:
    nacos:
      config:
        server-addr: nacos:8848
        file-extension: yaml

server-addr: nacos:8848就是nacos地址。
作为服务注册中心,发现 “wepay-service” 服务的实例,并在这些实例之间进行负载均衡。在实际调用时,OpenFeign 将会自动选择一个实例进行远程调用。

但是具体的nacos地址究竟怎么找到呢?

server-addr: nacos:8848

这里的 nacos 实际上是一个主机名,可以是你 Nacos 服务的实际地址。在这里使用主机名是因为在容器化环境中,可以通过服务发现机制来解析主机名。

当使用 nacos:8848 作为服务地址时,如果你的应用程序运行在容器中,并且与 Nacos 在同一网络中,Docker 或其他容器编排工具将通过容器间的网络解析 nacos 主机名为 Nacos 服务的 IP 地址。这样,你的应用程序就可以与 Nacos 服务进行通信。如果不在同一网络中,你可能需要配置容器网络或使用其他服务发现机制确保主机名能够正确解析。
和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值