微服务 API 网关与微服务机箱

     2023-03-08     242

关键词:

【中文标题】微服务 API 网关与微服务机箱【英文标题】:Microservices API gateway vs. Microservices Chassis 【发布时间】:2019-04-06 19:48:15 【问题描述】:

我是微服务新手,听说过微服务机箱,但我在网上找不到足够的资源。我想知道微服务底盘框架和 API 网关有什么区别,因为据我所知,底盘框架解决了横切关注问题,其中一些已经被 API 网关解决了。

对于 .net 的微服务底盘框架有什么建议吗?

【问题讨论】:

您好,好问题,但由于“要求场外资源”和“基于意见”,它被标记为离题。为了克服这个问题,您可能需要重写您的问题并要求常见的最佳做法。 【参考方案1】:

横切关注点:在任何企业应用程序中,除了主要业务逻辑之外,还有许多关注点需要注意。 ...这些关注点是日志记录、事务处理、性能监控、安全等。这些关注点被称为应用程序的横切关注点。

澄清这一点意味着几乎所有微服务都有一些共同的问题。这些问题以及如何管理它们就是机箱。微服务底盘是实现这些横切关注点的一种方式。构建可重复使用的机箱有助于节省时间、加强团队之间的一致性,并确保每个服务共享相同的操作特性。

API 网关 在微服务中还有其他作用。每个服务在发现服务中注册后,API网关必须使用发现服务来建立客户端和每个服务之间的连接。

看这个例子:

以上示例来自 Spring 实现(Java)。

想象一下当每个服务在不同的端口和地址时的情况。然后客户端必须知道每个服务的所有地址和端口才能调用它们。如果其中任何一个发生变化,会发生什么?一切都毁了。

为了解决这个问题,每个服务都在发现服务器上注册自己(在这个例子中是Eureka)。 API-Gateway 然后必须使用该发现服务并为每个服务创建 API 地址。例如,它可以将这种模式中的任何请求:/micro_service_name/** 转发到相关的注册服务。 这意味着如果order-service 具有/orders/get/order-id API,则客户端必须使用/order-service/orders/get/order-id 来访问订单。 API-gateway 使用发现服务器将请求重定向到匹配的服务。

【讨论】:

很好的完整答案,但我仍然有一个问题:实际端点是否传递给客户端,因此客户端会跟踪,还是 api 网关执行实际转发? @Stefan 它通常是API网关的工作(顾名思义) 那么,明确一点:网关转发实际请求,返回实际数据给客户端? @Stefan 是的。网关将请求转发给适当的微服务并将数据返回给用户。【参考方案2】:

微服务架构中的 API 网关主要与服务发现有关,这意味着为了知道从哪个端点调用哪个服务,一种简单但不够充分的方法是使用 API 网关,一个简单的所有服务的数据库及其地址和端口,将其与容器化技术如Docker 进行比较。以下是在代码项目中发表的一组关于微服务的文章,您可以阅读并评论您的问题。https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-I https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-II https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-III

【讨论】:

springcloud微服务安全网关安全3-1概述

1.概述:微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战OAuth2协议与微服务安全:介绍OAuth2中的各个角色,以及相互之间的关系,介绍具体的... 查看详情

springcloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战

...sp;网关安全 这一章从简单的API的场景过渡到复杂的微服务的场景4.1概述  微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战   OAuth2协议与微服务... 查看详情

API网关和微服务认证

】API网关和微服务认证【英文标题】:APIgatewayandmicroserviceauthentication【发布时间】:2018-01-0619:35:11【问题描述】:API网关和微服务的工作原理。谁能用网关解释一下微服务架构的基本流程。我找不到正确的答案。假设我们在不同... 查看详情

服务网关(zuul)

1.技术背景前面我们通过Ribbon或Feign实现了微服务之间的调用和负载均衡,那我们的各种微服务又要如何提供给外部应用调用呢?因为是RESTAPI接口,所以外部客户端直接调用各个微服务是没有问题的,但是出于种种原因,这并不是... 查看详情

API网关和微服务通信

】API网关和微服务通信【英文标题】:APIgatewayandmicroservicescommunication【发布时间】:2019-10-0106:17:09【问题描述】:我正在构建微服务架构,我需要沟通方面的帮助。API网关与服务通信的最佳方法是什么?我的API网关将是graphqlapoll... 查看详情

通过 API 网关进行内部通信微服务

】通过API网关进行内部通信微服务【英文标题】:internalcommunicationMicroservicesthroughAPIGateway【发布时间】:2019-05-0122:13:39【问题描述】:在微服务架构中,有一种常见的模式称为API网关。我知道来自API网关外部的所有通信都用作单... 查看详情

apigateway

一、为什么需要API网关?在微服务架构下,所有的后端服务都变成了一个个微小的API,外部客户端的一次业务请求,可能需要调用内部多个服务接口才能完成,如果让客户端与各个微服务直接通信,会有如... 查看详情

微服务 API 网关模式

】微服务API网关模式【英文标题】:microseviceapigatewaypattern【发布时间】:2018-01-2512:40:52【问题描述】:我正在一个新项目的用户网站上工作,我需要为每个请求保持良好的响应时间。我想知道我应该使用哪些微服务模式。我一... 查看详情

来自微服务中 API 网关的异步响应

】来自微服务中API网关的异步响应【英文标题】:AsyncresponsefromAPIGatewayinmicroservices【发布时间】:2019-02-0807:22:48【问题描述】:在微服务架构中,建议:客户端应用程序到API网关的通信应该是同步的(例如RESToverhttp)。微服务通... 查看详情

带有 API 网关的微服务

】带有API网关的微服务【英文标题】:MicroServicewithAPIGateway【发布时间】:2016-01-1421:30:09【问题描述】:对于我的新项目,我必须使用带有Api网关的微服务。所以我收集了有关微服务的详细信息,但ApiGateway部分不清楚。我的问题... 查看详情

API网关(Zuul)合并两个微服务响应

】API网关(Zuul)合并两个微服务响应【英文标题】:APIgateway(Zuul)mergingtwomicroserviceresponse【发布时间】:2019-09-1222:42:20【问题描述】:我有两个微服务,用户微服务和订单微服务。用户微服务返回用户详情,订单微服务返回用户... 查看详情

具有 API 网关和微服务的 Blazor 服务器指南

】具有API网关和微服务的Blazor服务器指南【英文标题】:GuidanceforBlazorServerwithAPIGatewayandMicroservices【发布时间】:2020-08-2408:17:26【问题描述】:到目前为止,我还没有找到有关将Blazor服务器(不是WebAssembly)与API网关和微服务一... 查看详情

个推微服务网关架构实践

作者:个推应用平台基础架构高级研发工程师阿飞在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。因此,在客户端... 查看详情

深入浅出springcloud原理及实战「springcloud-gateway系列」微服务api网关服务的gateway全流程开发实践指南(入门篇)(代码片段)

...、系统性能和弹性等。API网关介绍API网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务... 查看详情

客户端可以绕过API网关调用前端微服务吗?

】客户端可以绕过API网关调用前端微服务吗?【英文标题】:Canclient-sidecallfrontendmicroservicesbypassingAPIgateway?【发布时间】:2018-02-1912:56:39【问题描述】:我们的系统是使用微服务构建的,这些微服务都位于API网关之后。因为它们... 查看详情

API 网关在微服务架构中处理 Web 服务

】API网关在微服务架构中处理Web服务【英文标题】:APIGatewayhandlingWebservicesinaMicroserviceArchitecture【发布时间】:2017-03-1918:11:16【问题描述】:我有一个架构问题。我们正在将旧的单体应用转变为微服务架构。因此,我们计划识别... 查看详情

API网关和API微服务之间的相互认证?

】API网关和API微服务之间的相互认证?【英文标题】:MutualAuthbetweenAPIgatewayandAPImicroservice?【发布时间】:2017-12-0906:43:54【问题描述】:我正在编写一个API网关,它将向各种其他API公开单个入口点,这些API只能通过此API网关访问... 查看详情

微服务——api网关

什么是API网关API网关(APIGateway)是应用服务之前的系统,用来代理业务系统的服务API,在网关层处理所有的非业务功能,实现管理授权、访问控制和流量限制等功能。这样业务系统就可以专注于业务,而... 查看详情