基于Nginx的TCP路由

基于Nginx的TCP路由,nginx,reverse-proxy,Nginx,Reverse Proxy,我正在尝试通过TCP层使用Nginx进行路由。 我有多个不同的数据库,需要根据规则或API接收的请求执行从API到它们的路由 +++++ +++++++++++++ +++++++--------> mysqlServer(managerDb) +API+ ----->+MySQLClient+---->+Nginx+--------> mysqlServer(customerDb) +++++ +++++++++++++ ++++

我正在尝试通过TCP层使用Nginx进行路由。 我有多个不同的数据库,需要根据规则或API接收的请求执行从API到它们的路由

+++++       +++++++++++++     +++++++--------> mysqlServer(managerDb)
+API+ ----->+MySQLClient+---->+Nginx+--------> mysqlServer(customerDb)
+++++       +++++++++++++     +++++++--------> mysqlServer(........Db)
我已经做了典型的负载平衡,但我希望它是基于请求路由


感谢

Nginx主要在第7层()工作,您需要的是第4层(传输),因为这可以更好地帮助您实现所需,因为它可以同时执行HTTP和TCP()

也许通过使用nginxplus,您也可以做同样的事情,请查看本文中关于如何做的内容

另外,查看with需要使用
--with stream
配置标志构建的最新开源Nginx


这里有一篇文章解释了如何使用HAProxy进行负载平衡,这似乎是错误的。您希望使用web服务器执行低级TCP路由的原因是什么?或者你指的是HTTP重定向或类似的问题?关于专业服务器、网络或相关基础设施管理的问题对于堆栈溢出来说都是离题的,除非它们直接涉及编程或编程工具。谢谢你的回复,我知道这看起来很有道理,但我发现这对我的情况很有帮助,nginx已经在TCP层做了负载平衡。不过,他们自己的平衡对数让我难以接受。罗布:谢谢,我只要求提供文档,谢谢