当前位置: 首页 > wzjs >正文

申请网站平台怎么做广点通推广登录入口

申请网站平台怎么做,广点通推广登录入口,做网站用的,小企业网络营销外包📚 目录 为什么要用OpenFeign? 在cart-service中整合OpenFeign 2.1 引入依赖 2.2 启用OpenFeign 2.3 编写Feign客户端 2.4 调用Feign接口 开启连接池,优化Feign性能 3.1 引入OkHttp 3.2 配置启用OkHttp连接池 3.3 验证连接池生效 Feign最佳…

📚 目录

  1. 为什么要用OpenFeign?

  2. 在cart-service中整合OpenFeign
    2.1 引入依赖
    2.2 启用OpenFeign
    2.3 编写Feign客户端
    2.4 调用Feign接口

  3. 开启连接池,优化Feign性能
    3.1 引入OkHttp
    3.2 配置启用OkHttp连接池
    3.3 验证连接池生效

  4. Feign最佳实践 —— 客户端抽取
    4.1 避免重复编码问题
    4.2 抽取公共Feign模块
    4.3 配置扫描路径

  5. 配置OpenFeign日志输出

  6. 总结


1. 为什么要用OpenFeign?

在微服务中,服务与服务之间频繁调用。传统使用RestTemplate需要自己管理服务发现、负载均衡、URL拼接,代码复杂且难以维护。

OpenFeign的优势:

  • 声明式接口开发,像调用本地方法一样调用远程服务

  • 内置负载均衡,支持 Ribbon、LoadBalancer

  • 支持连接池,支持超时重试、熔断降级

  • 支持详细日志输出,方便排查问题

一句话总结:OpenFeign让远程调用优雅又高效!


2. 在cart-service中整合OpenFeign

cart-service 查询我的购物车 为例,来演示整合OpenFeign。


2.1 引入依赖

cart-servicepom.xml 中添加:

<!-- OpenFeign -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency><!-- 负载均衡器 -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

2.2 启用OpenFeign

CartApplication 启动类上添加注解:

@EnableFeignClients

表示开启Feign客户端扫描。


2.3 编写Feign客户端

com.hmall.cart.client 包下,新建接口 ItemClient

@FeignClient("item-service")
public interface ItemClient {@GetMapping("/items")List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);
}

说明:

  • @FeignClient("item-service"):指向要调用的微服务

  • @GetMapping("/items"):对应远程接口路径

  • @RequestParam("ids"):请求参数

  • 返回值会自动封装成List<ItemDTO>


2.4 调用Feign接口

CartServiceImpl 中直接注入 ItemClient,然后调用即可:

@Autowired
private ItemClient itemClient;// 调用
List<ItemDTO> items = itemClient.queryItemByIds(cartItemIds);

✅ 不需要再写 RestTemplate、不需要自己负载均衡,调用清晰简单!


3. 开启连接池,优化Feign性能

默认Feign底层用的是HttpURLConnection,不支持连接池,不适合高并发。

推荐使用 OkHttp 作为Feign底层,提高性能。


3.1 引入OkHttp依赖

cart-servicepom.xml 中添加:

<!-- OKHttp -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-okhttp</artifactId>
</dependency>

3.2 配置启用OkHttp连接池

application.yml 中增加配置:

feign:okhttp:enabled: true

✅ 这样Feign就会自动使用OkHttp作为底层HTTP客户端,并且自动使用连接池。


3.3 验证连接池生效

FeignBlockingLoadBalancerClientexecute 方法打断点调试,可以看到底层已经是 OkHttpClient 了,说明连接池生效了!


4. Feign最佳实践 —— 客户端抽取

未来 trade-service 也需要调用 item-service 的接口,重复定义 ItemClient 显然不合理,需要做客户端抽取


4.1 避免重复编码问题

思路:把公共的Feign客户端抽取出来,供各个微服务引用。


4.2 抽取公共Feign模块

在项目下新建 hm-api 模块,pom.xml配置:

<artifactId>hm-api</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.6.6</version></dependency>
</dependencies>

然后将 ItemDTOItemClient 移动到 hm-api 模块中。


4.3 配置扫描路径

cart-servicetrade-service 的启动类中添加:

  • 方式一:声明扫描包

@EnableFeignClients(basePackages = "com.hmall.api.client")
  • 方式二:指定特定FeignClient

@EnableFeignClients(clients = {ItemClient.class})

这样就可以正常引用公共模块中的Feign接口了!


5. 配置OpenFeign日志输出

默认OpenFeign日志级别是 NONE,不会打印请求和响应信息。开发测试时开启详细日志很有必要。


5.1 定义日志配置类

hm-api 模块新增配置类:

@Configuration
public class DefaultFeignConfig {@Beanpublic Logger.Level feignLogLevel(){return Logger.Level.FULL;}
}

设置日志级别为 FULL,打印完整请求与响应数据。


5.2 配置日志生效方式

  • 局部生效:在单个 FeignClient 中指定

@FeignClient(value = "item-service", configuration = DefaultFeignConfig.class)
  • 全局生效:在 @EnableFeignClients 中指定

@EnableFeignClients(defaultConfiguration = DefaultFeignConfig.class)

5.3 日志示例

输出示例(查询商品接口):

[ItemClient#queryItemByIds] ---> GET http://item-service/items?ids=1001 HTTP/1.1
[ItemClient#queryItemByIds] ---> END HTTP (0-byte body)
[ItemClient#queryItemByIds] <--- HTTP/1.1 200 (127ms)
...
{"id":1001,"name":"巴布豆拉拉裤","price":67100,"stock":10000,...}

✅ 可以清晰看到请求方法、URL、参数、响应内容,排查问题非常方便!


6. 总结

本篇完整讲解了如何在微服务项目中:

  • 引入OpenFeign

  • 实现声明式远程调用

  • 优化连接池性能(使用OkHttp)

  • 进行Feign客户端抽取复用

  • 配置请求日志,方便开发调试

✅ OpenFeign让我们的微服务调用变得更加优雅、简洁、性能更高。
✅ 配合OkHttp和合理日志配置,是生产级SpringCloud微服务系统必不可少的实践!

http://www.dtcms.com/wzjs/424342.html

相关文章:

  • 网站开发专业公司有哪些苏州seo网站系统
  • 通辽住房和城乡建设委员会网站谷歌搜索引擎入口2021
  • 怎样申请网站拼多多运营
  • 做网站先要学哈尔滨电话本黄页
  • 做赌博网站条件深圳网站制作哪家好
  • 凯里网站建设公司哪家好百度软件优化排名
  • 小企业网站建设论文百度推广网站
  • 动漫制作专业认知百度关键词自然排名优化公司
  • 装修网站平台排行榜基本营销策略有哪些
  • 做网站用笔记本电脑营销咨询公司
  • 江苏住房建设厅网站我是seo关键词
  • 深圳住房城乡建设局网站长春网站开发
  • 广东省建设信息港网站近期国家新闻
  • 杭州最大的网站开发广州做网站的公司哪家好
  • 龙岗网站制作培训班无锡seo公司哪家好
  • wordpress get_sidebarseo优化培训机构
  • bootstrap开发网站模板网销平台排名
  • 社交分享 wordpress今日头条搜索优化怎么做
  • 大型网站 div完整html网页代码案例
  • 南通公司注册免费seo工具大全
  • 猪八戒网网站设计google推广费用
  • 网站多数关键词bilibili官网网页入口
  • 政府网站建设的目的和意义产品推广介绍
  • 深圳分销网站设计首页排名优化公司
  • 天津网站建设seo优化方法有哪些
  • 网站设计前景怎样网站优化检测工具
  • 最靠谱的六个网上批发网站完美日记网络营销策划书
  • 新疆建设厅网站如何做网络营销?
  • 沧州网站建设优化公司商业推广费用一般多少
  • 东莞九江网站制作企业文化标语