话题框架与类库 › Project Reactor

框架与类库:Project Reactor

Project Reactor 响应式编程的探索与实践

在前后端分离和服务化的环境下,通常需要一个API网关统一对接C端、B端和运营等前端项目。这个API网关的主要作用有两个:

一是为所有前端项目提供统一的入口,然后按照规则转发到后端服务上,之所以多一层转发,是因为服务化后的项目与前端是多对多的关系,一个前端项目可能会访问多个后端的项目,一个后端项目也可能对多个前端项目提供服务。

二是对所有的前端项目进行统一鉴权,鉴权后将用户ID写入请求头并转发给后端项目,所有的后端项目都是无会话状态的,只需要根据ID对外提供接口。

Spring Cloud Gateway 和 Netflix Zuul 都是这样一个API网关项目,能够按照业务规则实现请求的转发功能,也可以将统一鉴权很好的集成进去。最开始使用的 Zuul,和其他业务项目一样基于 Web Servlet 技术栈。随着 Spring 不断的升级,后来的项目也就从 Zuul 改成了 Spring Cloud Gateway。由于 Spring Cloud Gateway 构建在 Web Reactive技术栈之上,因此相关的业务就开始使用 WebFlux、WebClient 和 Reactor。

响应式编程和协程在Java语言的应用

本文针对Java语言的高并发场景,提出了进一步优化性能的技术原理和实现思路,通过WebFlux和Quasar的合理应用,减少硬件资源占用,提高资源利用效率,对于深度优化应用表现收益显著。

58安居客二手房 API Gateway Sidecar 实践

58安居客二手房业务线的技术架构合并后,许多老页面需要逐步的重构成同一套技术体系,Web端采用NodeJs渲染,App后端API采用Java,再加上部分老的页面仍然使用的PHP。我们在对外接口这一层有很多通用的拦截功能,例如签名验证、用户票据验签、反爬虫拦截、公共参数处理、城市域名解析等。3套不同的技术栈意味着这些功能都要用不同的语言重复开发3遍,各端逻辑难以统一和维护,面临不少困难,因此亟需一个API网关能够统一的处理这些逻辑,降低维护成本。

  • «
  • 1
  • »

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.138.0. UTC+08:00, 2024-12-21 20:53
浙ICP备14020137号-1 $Map of visitor$