提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
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 服务进行通信。如果不在同一网络中,你可能需要配置容器网络或使用其他服务发现机制确保主机名能够正确解析。
和方法。