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

网站开发阶段react做的电商网站能上线吗

网站开发阶段,react做的电商网站能上线吗,wordpress后台在哪里设置段落间距,营销管理培训课程你好,欢迎来到本次关于Gateway全局过滤器统计接口调用耗时的面试系列分享。在这篇文章中,我们将深入探讨这一技术领域的相关面试题预测。若想对相关内容有更透彻的理解,强烈推荐参考之前发布的博文:【PmHub后端篇】PmHub Gateway全…

你好,欢迎来到本次关于Gateway全局过滤器统计接口调用耗时的面试系列分享。在这篇文章中,我们将深入探讨这一技术领域的相关面试题预测。若想对相关内容有更透彻的理解,强烈推荐参考之前发布的博文:【PmHub后端篇】PmHub Gateway全局过滤器:接口调用耗时统计及黑白名单配置技术深度解析

1 什么是网关,网关在微服务架构中的作用是什么?

  • 微服务网关是一个位于微服务架构前端的组件,它充当了所有微服务的入口
  • 微服务网关负责路由请求、负载均衡、安全认证、流量控制、监控和日志记录等任务。
  • 微服务网关可以将多个微服务组合成一个统一的API,从而简化了客户端与微服务之间的通信。

2 有 Nginx 了为什么还要 SpringCloud Gateway 做网关,两者有啥区别?

  • Nginx 是基于 C 语言的高性能 HTTP 服务器和反向代理,主要用于静态资源处理、负载均衡、反向代理等,适合处理高并发的流量,性能比较高。
  • 而 SpringCloud Gateway 是基于 Spring Boot 和 Spring WebFlux 的反应式编程模型,属于 Java 生态的微服务网关,集成在 Spring Cloud 体系中,更适合微服务架构下的动态路由、熔断、监控等功能
  • 在生产环境中,通常会把两者结合起来,Nginx 用来处理静态资源和高并发流量,Spring Cloud Gateway 用来实现动态路由、权限校验和业务逻辑处理
[客户端][Nginx] — 负载均衡/静态资源代理↓
[Spring Cloud Gateway] — 动态路由/业务逻辑处理↓
[微服务集群]

3 你是如何编写SpringCloud Gateway全局过滤器的?

在 PmHub 项目中,我单独在网关服务中新建了过滤器类 AuthFilter ,实现了 gatewayGlobalFilter 接口,并自定义了 filter 方法实现,方法里面主要是做了几个事情,分别是:

  • 白名单过滤,即过滤掉不需要验证的请求路径;
  • 进行token鉴权,确保令牌不能为空且未过期,并将用户信息放在请求头中,方便服务调用传递;
  • 记录访问接口的开始时间,用于统计接口调用的耗时情况。
  • AuthFilter实现了 Spring 的 Ordered 接口,并设置 -200 返回,以用来提高 AuthFilter 在 spring 中的加载顺序为最先。

4 你是如何统计接口调用耗时情况的?具体实现细节是什么?

接口调用耗时情况的统计是通过记录接口访问的开始时间和结束时间来实现的。
①、 在接口调用开始时,记录当前时间戳,并将其存储在 ServerWebExchange 的属性中

// 4.1 记录开始访问时间
exchange.getAttributes().put(BEGIN_VISIT_TIME, System.currentTimeMillis());

②、在接口调用结束时,通过 Mono.fromRunnablethen 方法,获取存储的开始时间,计算当前时间与开始时间的差值,即为接口调用的耗时。

return chain.filter(exchange).then(Mono.fromRunnable(() -> {try {// 4.2 记录接口访问日志Long beginVisitTime = exchange.getAttribute(BEGIN_VISIT_TIME);  // 开始访问时间if (beginVisitTime != null) {URI uri = exchange.getRequest().getURI();Map<String, Object> logData = new HashMap<>();logData.put("host", uri.getHost());logData.put("port", uri.getPort());logData.put("path", uri.getPath());logData.put("query", uri.getQuery());// 4.3 接口耗时logData.put("duration", (System.currentTimeMillis() - beginVisitTime) + "ms");log.info("访问接口信息: {}", logData);log.info("我是美丽分割线: ###################################################");}} catch (Exception e) {log.error("记录日志时发生异常: ", e);}
}));

5 在自定义网关鉴权过程中,你遇到了哪些挑战?你是如何解决的?

  • 性能挑战:在高并发场景下,网关的鉴权逻辑可能成为系统的瓶颈,导致请求延迟增加。

解决办法:使用缓存机制减少对数据库或认证服务器的调用次数,将用户的认证信息缓存一段时间。

  • 可扩展性:随着系统的扩展,新的服务和认证方式可能会不断增加,如何保证鉴权系统的可扩展性是一个挑战

解决办法:将鉴权逻辑独立为一个服务,方便独立扩展和维护。

  • 日志和监控:在鉴权过程中,需要对用户的认证行为进行详细的日志记录和监控,以便在出现问题时进行排查。

解决方案:在关键的鉴权步骤添加详细的日志记录,记录请求、响应、错误等信息。
部署监控系统对鉴权服务的性能、错误率等进行实时监控。

  • 一开始,把网关的配置信息都放到了配置文件中,这样就没办法在线更新

解决方案:通过 Nacos 把配置信息持久化到了 MySQL 当中,这样当我需要调整过滤器的白名单啊、路由规则啊,就可以直接通过 Nacos 的配置管理中心实时进行修改。

6 参考链接

  1. 网关和Nginx及Filter
  2. PmHub Gateway全局过滤器统计接口调用耗时
http://www.dtcms.com/a/580218.html

相关文章:

  • 网站开发的工作总结网站攻击一般有那些
  • 购物国外网站的建立烟台专业做网站的公司
  • 如何与别的网站做友情链接手机网站大全观看
  • 网站建设 事项制作网站的模板免费下载
  • 英文案例网站健康中国app下载
  • 全球购物网站排名网站如何做淘宝支付宝
  • 网站设计面试问题黑龙江采购网
  • 网站建设宣传海报海南省人才在线
  • 上海配资网站开发比较好的做外贸网站
  • 凤楼网站怎么做的html5网站设计工作室源码
  • 湘潭网站建设优等磐石网络网站建设论文模板
  • 建设工程监理 精品课网站外贸网站空间选择
  • 免费的网站开发工具网站挂标 怎么做
  • 科技工作室网站模板网站建设都需要什么资料
  • 农业科技公司网站建设网站缺点
  • 俄罗斯国际空间站微信卖水果链接网站怎么做的
  • 怎么建立一个网站开展业务直播开放平台是什么意思
  • 怎么样黑进网站后台网页美工设计书本
  • 做威士忌的网站做蛋糕视频教学网站
  • 企业网站推广费用绍兴网站建设哪家好
  • 建网站新科网站建设建网站多少
  • 外贸网站建站平台cms做门户网站
  • 西安建公司网站卖货平台有哪些
  • 网站开发开账务处理电子产品网站建设策划方案
  • 不懂英文怎么做英文的seo网站wordpress 商业版权
  • 重庆网站建设营销七牛图床 wordpress
  • 福州网站建设 找燕狂徒 05品牌设计师需要具备什么能力
  • 网站seo链接购买广告网络营销策略
  • 建设高端网站中森网站建设公司
  • 网站开发税收标准中小型互联网企业有哪些