网关系统PipeLine设计

Pipelined System Implementation:

Define "pipe-execute-type" structure for Pile-lined system such as AccessGateway or Adaptor to decide from which layer to do logic process.

          Map each layer name to the process order when binding pipes together. (e.g. If in AccessGateway ,"Jwt auth" mapped to 1, "router" to 2, "desensitize" to 3.)

              a. If in AccessGateway, add the info into Http Header via Http rest invoking. If "pipe-execute-type" = "normal" or "execute_point_{order}" and order value <= currency layer order, then execute this layer process logic or just skip.

              b. If in Adaptor, add the info into http body via Json-RPC invoking.   If "pipe-execute-type" = "normal" or "execute_point_{order}" and order value <= currency layer order, then execute this layer process logic or just skip.

Router Implementation:

Define "route-type","region-uri" structure for router layer to route to target region service.  "route-type" including: "Local", "Region_XXX"  which indicating local processing or remote region node  XXX processing)

If in AccessGateway, add the info into http header via Http rest invoking

AccessGateway execution logic:

The execution order of AccessGateway is: jwt layer(1) → router layer(2) → desensitization layer(3). So when a request incoming, it will pass through as below logic

jwt layer: If "pipe-execute-type"="normal" or "execute_point_{order}" and order value <=1, then doing process logic(verify jwt ) or just skip.

router layer: If "pipe-execute-type"="normal" or "execute_point_{order}" and order value <=2, then doing below process logic or just skip.

If "route-type"="local", skip to next step.

If "route-type"="region_xxx", set "pipe-execute-type"="desensitize", fetch region uri of "xxx" from Config Center Cache and then http invoking to xxx region AccessGateway endpoint

desensitization layer: If "pipe-execute-type"="normal" or "execute_point_{order}" and order value <=3, then doing process logic(exchange card info with token) or just skip.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。