标签: gateway

带API网关的微服务

对于我的新项目,我必须使用Micro服务和Api网关.所以我收集了有关Micro Service的详细信息,但Api Gateway部分并不清楚.

我的问题是,

  1. 有人知道如何在Api网关中完成请求路由部分吗?
  2. 这可以通过简单的if条件[ 伪代码: if(keyword =="product")然后路由("产品服务")]来完成吗?
  3. 或者这是更好的方法吗?

我正在使用C#.Net来开发Api.
我从https://www.nginx.com/blog/building-microservices-using-an-api-gateway/获得了一些关于Api Gateway的信息

Api Gateway

c# api gateway microservices

11
推荐指数
1
解决办法
9825
查看次数

NserviceBus网关示例

有没有人设法让NServiceBus网关组件工作?v3.0中的样本不像其他样本那样开箱即用.

分步指南或代码示例将有助于使此组件正常工作.

谢谢

gateway nservicebus

10
推荐指数
1
解决办法
938
查看次数

使用docker的API网关有哪些选项?

我已经创建了几个RESTful微服务并对它们进行了对接.现在我想为他们建立一个基于Web的UI,并且能够创建用户并授予他们使用某些API的权限.

我知道我需要某种API网关.我的第一个想法是,我总是可以做那种暴力的方式:创建一些django应用程序,它将提供UI并代理所有API手动请求,但这似乎非常沉闷.也许有一些替代品?我已准备好了Tyk,但无法找到有关添加用户和授予权限的任何信息.

我可能可以创建一个可以作为API网关的应用程序,并通过编写一些可以对其进行建模的代码来自动代理请求.因此,例如,我基本上需要外部URL与实际api url和一些授权逻辑之间的映射.也许有类似的东西?

api gateway docker microservices tyk

9
推荐指数
3
解决办法
8698
查看次数

API 网关应该通过队列还是直接与其他服务进行通信?

我想知道我的两种方法中哪一种更合适,或者还有另一种方法吗?

(1) 直接

直接沟通 GATEWAY和之间的直接通信?SERVICE A

  1. UI发送HTTP请求到GATEWAY
  2. GATEWAY发送HTTP请求到?SERVICE A
  3. ?SERVICE A返回SUCCESSERROR
  4. 事件存储EVENT STORE并发布到QUEUE
  5. PROJECTION DATABASE 已更新
  6. 其他?SERVICES可能消费事件

(2) 活动

队列通信 通过消息队列进行基于事件的通信

  1. UI发送HTTP请求到GATEWAY
  2. GATEWAY 发布事件到 QUEUE
  3. ?SERVICE A 消费事件
  4. 事件存储EVENT STORE并发布到QUEUE
  5. PROJECTION DATABASE 已更新
  6. 其他?SERVICES可能消费事件
  7. GATEWAY消费事件并将响应(SUCCESSERROR)发送到UI

如果我误解了一些概念,我真的很抱歉,我对这种建筑风格比较陌生。

在此先感谢您的帮助!:)

gateway message-queue cqrs event-sourcing microservices

9
推荐指数
1
解决办法
1785
查看次数

Azure 网关 X-Forwarded-For 标头缺失

根据文档https://learn.microsoft.com/en-us/azure/application-gateway/how-application-gateway-works#modifications-to-the-request Azure应用程序网关添加到请求4标头:x-forwarded -for、x-forwarded-proto、x-forwarded-port 和 x-original-host。但它不适用于我们的应用程序。x-forwarded-for 不存在,所有其他标头均显示。我们正在使用标准层(不是标准 v2)的应用程序网关。是标准层的限制吗?

gateway azure

9
推荐指数
0
解决办法
3395
查看次数

SMS GateWay在美国

有人可以告诉我在美国最好的短信网关.我希望我的应用程序使用HTTP发送短信.所以我想要最好又便宜的网关,可以提供api发送短信.我的应用程序是用VB.NET编写的.

sms http gateway

8
推荐指数
0
解决办法
2万
查看次数

编写USSD客户端或USSD开源/待购买客户端

我的问题是,是否有任何开源(理想情况下)或要购买的软件/工具/库,我可以使用它来发送和接收USSD消息?我希望该工具/库/软件从我的服务器连接到USSD网关,然后为我发送和接收消息.我只想专注于编写应用程序的业务逻辑而不是其他任何东西.它就像我正在寻找像Kannel(用于SMS)的软件/工具/库.

如果没有这样的工具/库/软件那么在客户端需要做什么才能在与多个USSD网关通信的同时有效地处理大量流量?

我希望我的问题很明确!

期待你的回答

gateway ussd kannel

8
推荐指数
1
解决办法
9330
查看次数

如何使用代理集成从AWS API Gateway提供二进制数据?

我正在使用AWS API Gateway(APIG)和Lambda函数构建无服务器的Web站点.我必须使用代理集成,因为后面的Lambda函数必须接收http请求标头.同时,需要提供一些二进制数据.就我而言,favicon.ico文件.其他人可能想要提供动态创建的PDF或Excel文件.APIG为此目的提供二元支持.使用base64对数据进行编码并配置该MIME内容类型,以便在将其提供给客户端之前对其进行解码.但是,这不适用于代理集成.代理集成只是跳过集成响应部分.

我尝试将favicon.ico的请求重定向到S3端点,但浏览器显示奇怪的行为.因为ico文件来自不同的重定向域,而不是同一个域.

使用base64对其进行编码并让客户端浏览器对其进行解码不是一种选择,因为这不是标准的,并且可能无法在所有浏览器中使用.

我认为在AWS为此添加新功能之前我无法做任何其他事情.有没有人调查过这个问题?有什么想法或建议吗?

api proxy lambda gateway amazon-web-services

8
推荐指数
1
解决办法
1903
查看次数

Spring Cloud Gateway 路由到自身


我在 Spring Cloud Gateway 的实现中有一个场景(仅供参考,调用该服务自定义 api 网关)。在此“自定义 API 网关”中,我想定义路由、过滤器、谓词并将请求转发到“自定义 API 网关”中的自定义端点?有办法实现吗?除了转发到“自定义 api 网关”中的 URI 之外,一切正常

这是一个例子

id: UpdateUser
uri:  SHOULD NOT GO DOWNSTREAM (endpoint is in 'custom api gateway')
predicates:
 - path=/api/users
filters:
 - ValidateSession
Run Code Online (Sandbox Code Playgroud)

谢谢塞吉

cloud spring routes gateway

8
推荐指数
1
解决办法
1833
查看次数

在 API Gateway 的 lambda 集成中使用 stageVariables 会引发验证错误

我的 API 网关有两个阶段(开发和生产)。我希望每个分别指向 dev 和 prod lambda 别名。我尝试在 lambda 集成中使用 stageVariables,但这会引发验证错误,并且 API Gateway 无权调用 lambda。我也无法从 lambda 仪表板更改权限策略以包含 stageVariables。

首先,我向每个阶段添加了一个阶段变量 (LAMBDA_ALIAS),并具有适当的值。我尝试附加:${stageVariables.LAMBDA_ALIAS}到 lambda ARN。当我保存此内容时,更改仍然存在,但仪表板顶部出现验证错误:

1 validation error detected: Value 'arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}' at 'functionName' failed to satisfy constraint: Member must satisfy regular expression pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Run Code Online (Sandbox Code Playgroud)

此外,我在点击 API 路由后注意到 CloudWatch 日志中出现集成错误:“在集成或 API 网关上配置的 IAM 角色没有调用集成的权限。请检查权限并重试。”

我已按照本指南创建了与完整调用 ARN 的新集成,但这也不起作用(它解析为 lambda ARN)。最后,我尝试通过 cli ( aws lambda add-permissions) 发出 JSON 语句,但返回了与上面所示相同的正则表达式错误。

这是我使用的 JSON 语句:

{
  "StatementId": "xxx",
  "Action": "lambda:InvokeFunction",
  "FunctionName": "arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}",
  "Principal": "apigateway.amazonaws.com", …
Run Code Online (Sandbox Code Playgroud)

api lambda gateway stage amazon-web-services

7
推荐指数
1
解决办法
693
查看次数