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 >>>>>>>>> >>>>>>>>
