[
https://issues.apache.org/jira/browse/IGNITE-13013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153464#comment-17153464
]
Anton Kalashnikov commented on IGNITE-13013:
--------------------------------------------
As I understand, If we forbid to create a server socket on the client-side,
client-to-client connection would be impossible. So I have several corresponded
questions:
* Does it need to support client-to-client connection along with prohibiting a
server socket? Or if the server socket is forbidden, the client-to-client
connection can be unsupported?
* Should a server socket ban and forceClientToServerConnection(IGNITE-12438) be
merged into one feature or it should be two different features(one depends on
other)? (ex. when forceClientToServerConnection set to true, only client able
to connect to the server and at the same time client doesn't open the server
socket).
* If we still need client-to-client connection(I believe we do), is it ok to
use one of the server nodes as a proxy for such connection? It means the client
doesn't establish a direct connection to other client but it establishes a
connection to the server node(I believe the router node is best in this case)
then this server node establishes a connection to the second client.
My personal answers are the following:
* client-to-client connection should be supported because of its looks useful
in several scenarios and some internal features also use it(deployment).
* It should be two different features but when the server socket isn't open,
forceClientToServerConnection should be set to true automatically.
* Server node as the proxy is not a bad idea but it can lead to some problem in
the failure scenarios and it leads to performance drop(It should be
investigated how frequently and in which scenarios the ignite use
client-to-client connection for understanding how big drop could be).
[~dmagda] can you share your view about this problem?
> Thick client must not open server sockets when used by serverless functions
> ---------------------------------------------------------------------------
>
> Key: IGNITE-13013
> URL: https://issues.apache.org/jira/browse/IGNITE-13013
> Project: Ignite
> Issue Type: Improvement
> Components: networking
> Affects Versions: 2.8
> Reporter: Denis A. Magda
> Priority: Critical
> Fix For: 2.9
>
>
> A thick client fails to start if being used inside of a serverless function
> such as AWS Lamda or Azure Functions. Cloud providers prohibit opening
> network ports to accept connections on the function's end. In short, the
> function can only connect to a remote address.
> To reproduce, you can follow this tutorial and swap the thin client (used in
> the tutorial) with the thick one:
> https://www.gridgain.com/docs/tutorials/serverless/azure_functions_tutorial
> The thick client needs to support a mode when the communication SPI doesn't
> create a server socket if the client is used for serverless computing. This
> improvement looks like an extra task of this initiative:
> https://issues.apache.org/jira/browse/IGNITE-12438
--
This message was sent by Atlassian Jira
(v8.3.4#803005)