网关方案总结

本文总结了API网关的实现方案,旨在解决SOA服务框架中的统一鉴权、限流、防攻击等问题。文章介绍了两个部分:第一部分基于dubbox实现,通过springmvc和zookeeper等技术栈实现前端请求拦截、负载均衡等功能;第二部分通过自造轮子,以nginx为基础解决网关的自动扩缩和负载均衡。
摘要由CSDN通过智能技术生成

经过这一段时间的思考、实践、受挫、再思考、再实践,现将api网关的方案总结一下。

总的目标

主要为了解决SOA服务框架对外提供api相关问题,主要涉及如下几个方面:

  • 统一鉴权
  • 限流
  • 防攻击
  • 系统拆分
  • api横向扩展、高可用、负载均横
  • 服务自动扩缩

为了解决上面的一系列问题,所以需要一个网关系统来作为外部服务调用的统一入口。本方案分两部分:

第一部分

具体代码请参见
https://github.com/zhuzhong/gateway-dubbox.git

后端服务采用dubbox的SOA服务框架,服务之间的内部调用协议为dubbo协议,而对于前端h5提供接口采用的为rest协议,数据传输格式为json,即http+json技术。第一部分主要解决就是rest协议所提供的服务对外的网关问题。

目的

我们服务框架使用的是dubbox(这个不用再多描述了),内部系统调用使用的是dubbo协议;而对于前端提供服务则使用rest协议。前端应用面临许多rest服务,为了解决调用的统一,所以需要一个网关系统。

为什么自己写

  • 对于api网关,现在已有框架可以解决该类问题,但是基于java语言开源的没有(除了zuul,也有可能我没有找到).
  • 不会C++,无法扩展nginx
  • 不会C,无法扩展nginx
  • 不会LUA,无法扩展nginx
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值