微服务架构微服务架构和实践

API网关规划与实施细则

2016-03-23  本文已影响4301人  陆贇

1. API网关的作用和定位

传统的服务架构
diagram-left.png
使用API网关后的服务架构
diagram-right.png
使用API 网关作为外部服务的反向代理
外部服务的反向代理.png

带来的好处:

  1. firewall统一对api网关服务器集群做策略,逻辑简单清晰,易于维护
  2. 对外访问控制由网络层面转换成了运维层面,减少变更的流程和错误成本
  3. 两级控制,简单灵活,网络组先变更,运维做测试,成功后授权应用服务器访问。
  4. 出口审计,监控和报警

2. API网关在整体架构体系的位置

API网关的定位2.png

3. tyk.io作为华住网关第一版的基准

选择tyk.io中间件作为API网关第一版的基准主要出于以下原因和目的:

  1. 轻量,但功能足够
  2. 结构简单,逻辑清晰
  3. 存储基于mongodb和redis,两者广泛应用于华住生产环境系统,有能力做好运维,以及在突发异常事件中有能力在较短事件内恢复。
  4. 性能足够 ,以下是官方benchmark
tyk-1-7-1-performance.png blitz-2.png

4. tyk.io结构

full-tyk-stack.jpg

5. API网关第一期里程碑以及时间节点

任务 时间点 状态
技术选型与论证 2月 - 3月 Ready
测试环境部署 3月底 - 4月初
确定性能基线 4月中
安全评审 4月中
高可用与灾难恢复评审 4月底
预发布部署 5月初
生产部署 5月中
H5 中枢1.0,2.0部分接口 pilot实验 5月底
H5完成切换
官网完成切换
app完成切换
出口服务切换

6. API网关第一期硬件需求

***三台中配centos 7虚机服务器 ***

tyk部署硬件-2.png

7. 风险点

  1. mongodb存储冷热备份与切换方案是否成熟
  2. 灾难恢复过程中的应急预案是否有效
  3. 线上服务灰度发布
  4. tyk使用go语言实现对现有二次研发能力的挑战

附录:

Change Log

日期 内容 作者
2016.3.17 第一版 陆贇
2016.3.26 修改第二节整体架构位置的图,增加对外服务反向代理示意图,修改里程碑 陆贇
上一篇下一篇

猜你喜欢

热点阅读