You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by MJ <67...@qq.com> on 2021/11/15 09:14:40 UTC

Re client node connects to server nodes behind NAT

That would be peer class loading &amp;&amp; data stream .&nbsp;


Thanks


------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user"                                                                                    <timonin.maxim@gmail.com&gt;;
发送时间:&nbsp;2021年11月15日(星期一) 下午3:59
收件人:&nbsp;"user"<user@ignite.apache.org&gt;;

主题:&nbsp;Re: client node connects to server nodes behind NAT



Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1], you're welcome :)

But, a thick&nbsp;client&nbsp;is part of topology, and it has to be able to connect every node in the cluster directly, then thick clients have to&nbsp;be run within the same kubernetes cluster. Thin clients were designed to eliminate this&nbsp;problem.


What features of thick clients do you want to use?


[1]&nbsp;https://ignite-summit.org/sessions/293596



On Mon, Nov 15, 2021 at 3:50 AM MJ <6733471@qq.com&gt; wrote:

Hi,


Is that possible for a non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes&nbsp;?&nbsp;


have read below docs seems impossible&nbsp;
https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes



Have tried with thin client outside of Kubernetes - that works fine
client node(thick client) - always throw exceptions, most likely the internal ips bebind NAT cannot be detected from external , is there any workaround to implement that non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes ? I'd like to utilise the power features of thick client. and They can be depoloyed everywhere if there is the way of making it.&nbsp;






Thanks,
Ma Jun

Re: Re client node connects to server nodes behind NAT

Posted by Denis Magda <dm...@apache.org>.
Hi Ma,

Streaming is supported for the thin clients (see a related discussion on
the user list). As for the peer-class-loading support, not sure that it's
coming. As an alternative, you can implement the UriDeploymentSpi interface
that will load/reload code from your custom location/repository:
https://ignite.apache.org/docs/latest/code-deployment/deploying-user-code

If you don't want to bother with the UriDeploymentSpi implementation, then
check this Deployment feature of GridGain Nebula (it will be available for
non-Nebula clusters through the same Control Center interface soon). That
feature implements the UriDeploymentSpi:
https://www.youtube.com/watch?v=8hS1ux1d3Ck&list=PLMc7NR20hA-J5tnwx-ltnBB9X-gF8cP9S&index=2

Finally, as Max suggested, configure the thick client and server nodes
following this documentation:
https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
(it should solve your networking problems).

-
Denis


On Tue, Nov 16, 2021 at 2:53 AM Maksim Timonin <ti...@gmail.com>
wrote:

> Hi!
>
> Unfortunately, support of peer class loading and data streams is limited
> for thin clients. AFAIK, .Net thin client supports data streamer.
>
> I found that Ignite has a special mode of running client nodes
> `forceClientToServerConnections` [1]. But this feature is marked as
> experimental since 2.9 and I don't see any updates there. Actually, I'm not
> aware about this feature much. I found the feature discussion on dev list
> [2]. Maybe somebody from the community can say more about this feature. But
> looks like it can be a solution in your case.
>
> [1]
> https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
> [2] https://www.mail-archive.com/dev@ignite.apache.org/msg44990.html
>
> On Mon, Nov 15, 2021 at 12:15 PM MJ <67...@qq.com> wrote:
>
>> That would be peer class loading && data stream .
>>
>> Thanks
>>
>> ------------------ 原始邮件 ------------------
>> *发件人:* "user" <ti...@gmail.com>;
>> *发送时间:* 2021年11月15日(星期一) 下午3:59
>> *收件人:* "user"<us...@ignite.apache.org>;
>> *主题:* Re: client node connects to server nodes behind NAT
>>
>> Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1],
>> you're welcome :)
>>
>> But, a thick client is part of topology, and it has to be able to connect
>> every node in the cluster directly, then thick clients have to be run
>> within the same kubernetes cluster. Thin clients were designed to eliminate
>> this problem.
>>
>> What features of thick clients do you want to use?
>>
>> [1] https://ignite-summit.org/sessions/293596
>>
>> On Mon, Nov 15, 2021 at 3:50 AM MJ <67...@qq.com> wrote:
>>
>>> Hi,
>>>
>>> Is that possible for a non-Kubernetes client node connects to server
>>> nodes within Kubernetes ?
>>>
>>> have read below docs seems impossible
>>>
>>> https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes
>>>
>>> Have tried with thin client outside of Kubernetes - that works fine
>>> client node(thick client) - always throw exceptions, most likely the
>>> internal ips bebind NAT cannot be detected from external , is there any
>>> workaround to implement that non-Kubernetes client node connects to server
>>> nodes within Kubernetes ? I'd like to utilise the power features of thick
>>> client. and They can be depoloyed everywhere if there is the way of making
>>> it.
>>>
>>>
>>>
>>> Thanks,
>>> Ma Jun
>>>
>>

Re: Re client node connects to server nodes behind NAT

Posted by Maksim Timonin <ti...@gmail.com>.
Hi!

Unfortunately, support of peer class loading and data streams is limited
for thin clients. AFAIK, .Net thin client supports data streamer.

I found that Ignite has a special mode of running client nodes
`forceClientToServerConnections` [1]. But this feature is marked as
experimental since 2.9 and I don't see any updates there. Actually, I'm not
aware about this feature much. I found the feature discussion on dev list
[2]. Maybe somebody from the community can say more about this feature. But
looks like it can be a solution in your case.

[1]
https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
[2] https://www.mail-archive.com/dev@ignite.apache.org/msg44990.html

On Mon, Nov 15, 2021 at 12:15 PM MJ <67...@qq.com> wrote:

> That would be peer class loading && data stream .
>
> Thanks
>
> ------------------ 原始邮件 ------------------
> *发件人:* "user" <ti...@gmail.com>;
> *发送时间:* 2021年11月15日(星期一) 下午3:59
> *收件人:* "user"<us...@ignite.apache.org>;
> *主题:* Re: client node connects to server nodes behind NAT
>
> Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1],
> you're welcome :)
>
> But, a thick client is part of topology, and it has to be able to connect
> every node in the cluster directly, then thick clients have to be run
> within the same kubernetes cluster. Thin clients were designed to eliminate
> this problem.
>
> What features of thick clients do you want to use?
>
> [1] https://ignite-summit.org/sessions/293596
>
> On Mon, Nov 15, 2021 at 3:50 AM MJ <67...@qq.com> wrote:
>
>> Hi,
>>
>> Is that possible for a non-Kubernetes client node connects to server
>> nodes within Kubernetes ?
>>
>> have read below docs seems impossible
>>
>> https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes
>>
>> Have tried with thin client outside of Kubernetes - that works fine
>> client node(thick client) - always throw exceptions, most likely the
>> internal ips bebind NAT cannot be detected from external , is there any
>> workaround to implement that non-Kubernetes client node connects to server
>> nodes within Kubernetes ? I'd like to utilise the power features of thick
>> client. and They can be depoloyed everywhere if there is the way of making
>> it.
>>
>>
>>
>> Thanks,
>> Ma Jun
>>
>