# 《高性能Polaris网关》总体架构-第02节:高性能Polaris网关数据模型设计

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/JfWk5 (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本节重点:对高性能Polaris网关的数据流转过程进行模型设计,梳理网关数据交互过程中的上下文设计,请求与响应对象设计、配置模型、处理器、过滤器、配置规则与HTTP请求对象等核心模型设计。
  • 课程视频:https://t.zsxq.com/JfWk5 (opens new window)

大家好,我是冰河~~

经过前面对高性能Polaris网关的功能需求、业务流程和技术流程的梳理,我们已经明确了高性能Polaris网关的业务需求和技术需求,明确了高性能Poalris网关的方案目标,以及对高性能Polaris网关进行了总体架构设计。

# 一、前言

至此,我们已经清楚了高性能Polaris网关的功能需求、业务流程、技术流程、方案目标以及总体架构设计,对这些内容做到心中有数后,我们就可以开始尝试梳理和设计高性能Polaris网关的数据模型了。将这些数据模型梳理清楚,能够更好的指导我们从整体上设计和研发高性能Polaris网关。

# 二、本节诉求

在整个高性能Polaris网关的设计和研发过程中,尽量简化复杂的流程设计和无关紧要的代码设计,保留最核心的功能,让大家从高性能Polaris网关的设计和编码实践中,领略如何编写高并发程序,从总体上对网关的高并发设计、优化处理、调优参数等做到心中有数。

高性能Polaris网关简化复杂的流程设计和无关紧要的代码设计后,保留的最核心的数据模型包括:网关上下文、请求与响应对象、网关配置模型、处理器对象、过滤器与过滤器链、核心配置规则和HTTP请求对象等。

本节,我们就一起梳理下如何设计高性能Polaris网关涉及到的这些核心数据模型。

# 三、数据模型设计

一般来说,网关作为整个后端微服务集群的流量入口,它所承接的流量是非常大的,在整个数据的交互过程中,如果没有一个良好的数据模型设计,那势必会影响网关的整体交互性能。所以,数据模型对于我们设计和研发高性能Polaris网关是至关重要的。

接下来,我们就从网关上下文、请求与响应对象、网关配置模型、处理器对象、过滤器与过滤器链与核心配置规则等几个方面梳理高性能Polaris网关的核心数据模型设计,整体模型如图2-1所示。


可以看到,我们在保留了网关的最核心功能的前提下,对网关的上下文对象、请求与响应对象、网关配置模型、处理器对象、过滤器与过滤器链和核心配置规则中定义了必要的字段和方法。这些字段和方法是实现网关核心数据模型的基本字段和方法,在后续的具体实现中,我们会视具体情况对这些字段和方法进行扩充。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码