Clay,

I assume embedding jetty as an ignite service, i.e., as an ignite server
> node, is not desirable (still don't know the reason).


Let's suppose that your cluster has 3 server/data nodes with application
records distributed evenly - so that each node keeps ~33% of the whole data
set. Next, if to deploy Jetty as an ignite service on those 3 nodes and to
assume that all application records are accessed frequently, then for ~33%
of requests the service will serve local data of its node while for the
rest ~66% request it will getting it from the other 2 remote nodes. So, the
performance advantages of this deployment strategy are insignificant
(unless all the data is fully replicated).

Also, if an Ignite service is deployed on a server node, then each time you
need to update service logic you'll restart the server node and trigger
cluster rebalancing that might be a time-consuming operation depending on
data size. This might be a more prominent implication that you would not
want to have in the production environment.



-
Denis


On Sun, Jun 7, 2020 at 3:04 AM Clay Teahouse <[email protected]> wrote:

> Denis -- Thank you for the recommendation.
> From what I read, embedded ignite servers has implications for
> scalability, and write performance and I cannot afford either.
> I assume embedding jetty as an ignite service, i.e., as an ignite server
> node, is not desirable (still don't know the reason).
> Yes, ultimatley my goal is to deploy the ignite services and data nodes as
> microservices.
>
> On Sat, Jun 6, 2020 at 11:25 PM Denis Magda <[email protected]> wrote:
>
>> Clay,
>>
>> Probably, such frameworks as Quarkus, Spring Boot, Micronaut would work
>> as a better foundation for your microservices. As you know, those already
>> go with embedded REST servers and you can always use Ignite clients to
>> reach out to the cluster.
>>
>> Usually, Ignite servers are deployed in the embedded mode when you're
>> dealing with ultra-low latency use case or doing web-sessions clustering:
>>
>> https://www.gridgain.com/docs/latest/installation-guide/deployment-modes#embedded-deployment
>>
>>
>> -
>> Denis
>>
>>
>> On Sat, Jun 6, 2020 at 9:03 AM Clay Teahouse <[email protected]>
>> wrote:
>>
>>> Hi Denis -- My main reason was for embedding jetty as an ignite service
>>> was to have ignite manage jetty instance, the same it does for any other
>>> kind of service.
>>>
>>> On Thu, Jun 4, 2020 at 3:30 PM Denis Magda <[email protected]> wrote:
>>>
>>>> Clay,
>>>>
>>>> Do you have any specific requirements in mind for the ignite service +
>>>> jetty deployment? If possible, please tell us a bit more about your
>>>> application.
>>>>
>>>> Generally, I would deploy Jetty separately and use load balancers when
>>>> several instances of an application are needed.
>>>>
>>>> -
>>>> Denis
>>>>
>>>>
>>>> On Wed, Jun 3, 2020 at 3:20 PM Clay Teahouse <[email protected]>
>>>> wrote:
>>>>
>>>>> Thank you, Denis. I'll research this topic further.
>>>>>
>>>>> Any recommendation for/against using jetty as an embedded servlet
>>>>> container, in this case, say, deployed as an ignite service?
>>>>>
>>>>> On Fri, May 29, 2020 at 11:22 PM Denis Magda <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Clay,
>>>>>>
>>>>>> Just start your Jetty server and deploy as many instances of your web
>>>>>> app as needed. Inside the logic of those apps start Ignite server nodes
>>>>>> instances. Then, refer to this documentation page for session clustering
>>>>>> configuration:
>>>>>> https://apacheignite-mix.readme.io/docs/web-session-clustering
>>>>>>
>>>>>> Also, there were many related questions related to this topic. Try to
>>>>>> search for specific by googling for "session clustering with ignite and
>>>>>> jetty".
>>>>>>
>>>>>> Let us know if further help is needed.
>>>>>>
>>>>>>
>>>>>> -
>>>>>> Denis
>>>>>>
>>>>>>
>>>>>> On Fri, May 29, 2020 at 6:57 PM Clay Teahouse <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> thank you Denis.
>>>>>>> If I want to go with the first option, how would I deploy jetty as
>>>>>>> embedded server? Do I deploy it as an ignite service?
>>>>>>> How would I do session clustering in this case?
>>>>>>>
>>>>>>> On Fri, May 29, 2020 at 3:18 PM Denis Magda <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Clay,
>>>>>>>>
>>>>>>>> I wouldn't suggest using Ignite's Jetty instance for the deployment
>>>>>>>> of your services. Ignite's Jetty primary function is to handle REST
>>>>>>>> requests specific to Ignite:
>>>>>>>> https://apacheignite.readme.io/docs/rest-api
>>>>>>>>
>>>>>>>> Instead, deploy and manage your restful services separately. Then,
>>>>>>>> if the goal is to do a web session clustering, deploy Ignite server 
>>>>>>>> nodes
>>>>>>>> in the embedded mode making the sessions' caches replicated. Otherwise,
>>>>>>>> deploy the server nodes independently and reach the cluster out from 
>>>>>>>> the
>>>>>>>> restful services using existing Ignite APIs. This tutorial shows how 
>>>>>>>> to do
>>>>>>>> the latter with Spring Boot:
>>>>>>>> https://www.gridgain.com/docs/tutorials/spring/spring_ignite_tutorial
>>>>>>>>
>>>>>>>> -
>>>>>>>> Denis
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, May 29, 2020 at 8:25 AM Clay Teahouse <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> hello,
>>>>>>>>> I understand that ignite comes with embedded jetty server.
>>>>>>>>> 1) Can I utilize this jetty server to deploy my own restful
>>>>>>>>> services (using Jersey implementation)? If yes, can you please direct 
>>>>>>>>> me to
>>>>>>>>> some examples.
>>>>>>>>> Further questions:
>>>>>>>>> 2)How does the ignite embedded jetty work with regard to load
>>>>>>>>> balancing? Are there multiple instances of the embedded jetty server
>>>>>>>>> running behind a load balancer? In other words, can I invoke multiple
>>>>>>>>> instances?
>>>>>>>>> 2) How does this scheme work with web session clustering?
>>>>>>>>> 3) Would the ignite node run in server mode?
>>>>>>>>> 4) I want the jetty sessions access ignite caches (on the server
>>>>>>>>> side) as the data source for the data returned from the restful 
>>>>>>>>> services.
>>>>>>>>>
>>>>>>>>> Any help and advice would be much appreciated. Thank you
>>>>>>>>>
>>>>>>>>

Reply via email to