You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/11/07 05:37:45 UTC

[GitHub] [apisix] zhangw opened a new issue, #8258: feat: As a user, I want to ..., so that ...

zhangw opened a new issue, #8258:
URL: https://github.com/apache/apisix/issues/8258

   ### Description
   
   Why does apisix not support unix socket domain be as the upstream that be already supported in native nginx?
   In k8s architecture, a dedicated upstream server would running in the sider car container and it is useful if apisix could connect with the upstream server via unix socket domain.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] zhangw commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
zhangw commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1320805060

   > > In k8s architecture, a dedicated upstream server would running in the sider car container and it is useful if apisix could connect with the upstream server via unix domain socket.
   > 
   > Are you using APISIX to handle east-west traffic?
   
   Due to the apisix 2.x not support the fully grpc protocol, in some cases, we trying to let apisix directly return the grpc error code and abort the current stream processing, this behavior cause the downstream (aws nlb) not make sense what happend on http2 connection. We introduced a real grpc server which listening on the unix domain socket that help apisix to implement the correct grpc error handler. This grpc server running on a sidecar container which using the shared  volume as unix domain fd that connected by apisix worker process running on another container.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tzssangglass closed issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
tzssangglass closed issue #8258: feat: I hope the unix domain socket could be as the upstream node.
URL: https://github.com/apache/apisix/issues/8258


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tokers commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
tokers commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1321333202

   > > > In k8s architecture, a dedicated upstream server would running in the sider car container and it is useful if apisix could connect with the upstream server via unix domain socket.
   > > 
   > > 
   > > Are you using APISIX to handle east-west traffic?
   > 
   > Due to the apisix 2.x not support the fully grpc protocol, in some cases, we trying to let apisix directly return the grpc error code and abort the current stream processing, this behavior cause the downstream (aws nlb) not make sense what happend on http2 connection. We introduced a real grpc server which listening on the unix domain socket that help apisix to implement the correct grpc error handler. This grpc server running on a sidecar container which using the shared volume as unix domain fd that connected by apisix worker process running on another container.
   
   OK, could you also try the `127.0.0.1`? As these containers in the same pod are share the network namespace.
   
   I think this may help you to solve the problem of lack UNIX domain socket.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] zhangw commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
zhangw commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1331556284

   Thanks for your suggestion, considering the unix domain socket which can achieve more throughput than linux loopback, so we finally use the workaround mentioned above to solve this.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tokers commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
tokers commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1305355698

   > In k8s architecture, a dedicated upstream server would running in the sider car container and it is useful if apisix could connect with the upstream server via unix domain socket.
   
   Are you using APISIX to handle east-west traffic?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tzssangglass commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
tzssangglass commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1334721140

   Considered solved, feel free to reopen this if you needed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] zhangw commented on issue #8258: feat: I hope the unix domain socket could be as the upstream node.

Posted by GitBox <gi...@apache.org>.
zhangw commented on issue #8258:
URL: https://github.com/apache/apisix/issues/8258#issuecomment-1305199920

   now I find a workaround like this: 
           
           location @grpc_error_pass {
               grpc_set_header   Content-Type application/grpc;
               grpc_socket_keepalive on;
               grpc_pass  unix:/tmp/foo.sock;
           }
   
           location @grpc_pass {
   
               access_by_lua_block {
                   -- in some conditional
                   ngx.exec("@grpc_error_pass")
               }
           }


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org