微服务架构设计模式 | 第8章 外部API模式

2021-09-13  本文已影响0人  多氯环己烷

前言

不同客户端通常需要不同数据;不同客户端通过不同类型的网络访问服务,拥有单一、适合所有客户端的API通常没有意义;

这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。下面对一些符号做些说明:

()为补充,一般是书本里的内容;
[]符号为笔者笔注;


1. 外部API的设计难题

1.1 FTGO应用程序的服务及客户端

FTGO应用程序的服务及客户端

1.2 FTGO移动客户端API的设计难题

FTGO移动客户端API的设计难题
上述设计方案难处在于

1.3 其他类型客户端API的设计难题与特点

2. API Gateway模式

使用API Gateway模式可以解决上述问题;

2.1 API Gateway实现的功能

2.1.1 请求路由

API Gateway的请求路由

2.1.2 API组合

API Gateway的API组合

2.1.3 协议转换

2.1.4 能够为每一个客户端提供它们专用的API

2.1.5 实现边缘功能

2.2 API Gateway的架构

API Gateway的架构
图解

2.3 API Gateway的所有者模式

API Gateway的所有者模式

2.4 API Gateway的后端前置模式

API Gateway的后端前置模式

2.5 API Gateway模式的好处与弊端

好处

弊端

2.6 API Gateway的设计难题

3. 实现一个API Gateway

3.1 实现API Gateway的两种方法

3.2 使用现成的API Gateway产品或服务

3.3 使用Netflix Zuul开发API Gateway

3.4 使用Spring Cloud Gateway开发API Gateway

3.5 Spring Cloud Gateway的关键部分

Spring Cloud Gateway的关键部分
图解

3.5.1 OrderConfiguration类

OrderDestinations类

3.5.2 OrderHandlers类

在这里插入图片描述
OrderHandlers类

3.5.3 OrderService类

OrderService类

3.5.4 ApiGatewayApplication类

ApiGatewayApplication类

3.6 使用GraphQL实现API Gateway

GraphQL是一种基于图像的API框架,其旨在支持高效的数据提取;

服务器的API由基于图形的模式组成
图解

3.7 基于GraphQL的FTGO API Gateway的设计

基于GraphQL的FTGO API Gateway的设计
其关键部分:

4. 本章小结


最后

\color{blue}{\rm\small{新人制作,如有错误,欢迎指出,感激不尽!}}

\color{blue}{\rm\small{欢迎关注我,并与我交流!}}

\color{blue}{\rm\small{如需转载,请标注出处!}}

上一篇 下一篇

猜你喜欢

热点阅读