分享

手写一个轻量级的网关API

 昵称11935121 2018-07-15

以HTTP接口形式的应用,是目前大部分中小型企业最常见的微服务夸语言交互的实现方式

即:定义多个接口,外部调用,经网关解析进行分发,小编遇到的这种情况是,有多个服务,每个服务都需要单独有网关开墙,很是头疼,每上线一个服务都需要网关配置,极其头疼,再此实现一种暴露一个接口,通过参数来实现调用不同的方法的案例

图说可能大家还不是特别了解。如果感兴趣,可以私信: 网关 (获取github项目地址)

目录

  1. 思路分析

  2. 实现方案

思路分析图

通过SpringBoot,对请求url进行分类处理,当访问url匹配到/api/* 则进入到自己重写的统一的网关API接口中。如下图。

手写一个轻量级的网关API

实现方案

  1. 自定义注解 APiMapping
  2. 自定义ApiGateWayServlet
  3. 利用 Spring IOC 拆分方法并与 ApiMaping 做绑定由 ApiStore中HashMap维护

注解定义及利用IOC绑定注解与方法

api注解: APIMapping

手写一个轻量级的网关API

通过注解对业务方法标记

手写一个轻量级的网关API

利用Spring 上下文对标记的方法进行绑定

初始化时候,扫描APIMapping接口。将url和Method绑定。

手写一个轻量级的网关API

重写自定义Servlet方法中的POST和GET

手写一个轻量级的网关API

根据接口绑定获取到执行的方法,利用反射执行

手写一个轻量级的网关API

手写一个轻量级的网关API

图说可能大家还不是特别了解。如果感兴趣,可以私信: 网关 (获取github项目地址)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多