"面向数据应用的Reactive微服务架构设计与实践"

需积分: 0 1 下载量 130 浏览量 更新于2024-01-19 收藏 10.07MB PDF 举报
面向数据应用的需求背景是在互联网时代下,金融安全方面的需求变得尤为重要。传统的应用服务架构,如Tomcat和Weblogic,在满足新时代要求方面存在一些能力局限性。首先,每个节点只能支持数千个客户端连接,无法满足高并发访问的需求;其次,每个节点的事务处理能力(Tps值)只有1000-3000,无法满足用户对低延时的需求;另外,传统架构无法直接支持无服务并行调用的需求。此外,传统架构容易因高并发访问和程序缺陷而导致应用服务暂停或系统崩溃,依赖于负载均衡器隔离对故障设备的访问。而且,传统架构依赖于负载均衡器实现集群部署,不方便动态添加服务节点,并且无法实现功能服务的独立部署和差异化的服务质量管控。 针对这些问题,需要引入面向数据应用的Reactive微服务架构设计与实践。恒丰银行科技开发部的曾光尧指出,互联网时代下的金融安全需求对技术架构提出了新的要求。因此,设计了一种Reactive微服务架构,旨在满足高并发、低延时的用户需求,并提供更好的应用服务质量管控。 在当前主流的J2EE服务架构中,每个节点的吞吐量通常在1000-3000Qps范围内。然而,在多核硬件时代,这种吞吐量已经无法满足高并发、低延时的需求。主要原因有以下几点:首先,由于受到内核调度成本的限制,单节点只能支持有限数量的网络连接。其次,每个请求/连接对应一个线程,导致操作系统线程数过多,而线程占用的系统资源较多,切换代价太大。再者,在高并发场景下,线程间资源共享锁冲突增加,进一步降低系统资源利用率。此外,采用同步IO机制会导致线程阻塞,进而降低服务的吞吐量。 为了解决这些问题,Reactive微服务架构采用了异步非阻塞的设计,充分利用了计算资源。首先,采用了事件驱动的模式,避免了线程数过多的问题。其次,通过采用异步非阻塞的IO方式,可以大大提高系统的处理能力和吞吐量。此外,在架构设计中引入了分布式缓存和消息队列等技术, 进一步提升系统的性能和可扩展性。 这种面向数据应用的Reactive微服务架构具有许多优势。首先,可以支持数十万甚至上百万个客户端连接,满足高并发访问的需求。其次,该架构的吞吐量可达到数百万Qps级别,满足用户对低延时的需求。此外,该架构可以实现无服务并行调用,提供更灵活的服务组合和调用方式。 总之,面向数据应用的Reactive微服务架构是一种能够满足新时代要求的技术架构。相比传统的应用服务架构,该架构在高并发、低延时、可扩展性等方面具有明显的优势。通过引入异步非阻塞、事件驱动、分布式缓存和消息队列等技术,该架构能够提供更好的应用服务质量管控,满足用户对金融安全的需求。 (共计513字)