Petstore is #2. We use the Redis service to store the session. For an HA deployment such a model is required, but yes, for the simplest case, we can have local sessions and then use session affinity capabilities of the LB.
On Thu, Mar 10, 2016 at 10:17 AM, Sanjiva Weerawarana <[email protected]> wrote: > Manu, #1 is not a no-session story. What Azeez has done for the petstore > is a model where session state is in a DB. > > Session as a service is the same thing ... basically a data service in > front of a DB. > > So really the basic question is can you do without a session? My answer is > no, not practical. If you go full HATEOS you can do without sessions but > even then you have to re-authenticate every call which is not practical. > > So its #3 :-). > > On Wed, Mar 9, 2016 at 8:01 PM, Manuranga Perera <[email protected]> wrote: > >> Options >> 1) No session. Everything is in DB or Window.localStorage. Authentication >> via a token validation endpoint. (We keep the token in a front end cookie) >> 2) Session as a service >> 3) The session is local, works with session affinity >> 4) The session is distributed >> >> My personal order of preference - 1, 2, 3, 4 >> Azeez says 2 (or 1? ) >> Sanjiva says 3, with 4 being plug-able >> >> I think 1 is doable. >> Yes, there will be some development overhead. >> But it'll be scalable/simpler at run time. >> >> >> On Wed, Mar 9, 2016 at 6:59 PM, Sanjiva Weerawarana <[email protected]> >> wrote: >> >>> Not practical Azeez - you're massively complicating the deployment and >>> second its far less performant than replication. Earlier we did global >>> replication which we really shouldn't do. >>> >>> I'm not suggesting replication .. I'm saying we support non-HA sessions >>> by default but make that part pluggable so we can plug in a replicating >>> model (or even a DB model) if needed. >>> >>> On Wed, Mar 9, 2016 at 6:43 PM, Afkham Azeez <[email protected]> wrote: >>> >>>> What if we follow an approach of persisting the session to a datastore, >>>> like we've done in the petstore sample, that way you don't need to worry >>>> about affinity or the node having the session failing. In memory session >>>> replication is costly & leads to a whole lot of other issues, like the ones >>>> we've seen with replicated caches, so it best to avoid it. >>>> >>>> On Wed, Mar 9, 2016 at 6:32 PM, Sanjiva Weerawarana <[email protected]> >>>> wrote: >>>> >>>>> Manu's question is in the context of the reusable UI framework stuff >>>>> we're working on. >>>>> >>>>> Fundamentally, is it necessary to have sessions to write a UI? Can we >>>>> use HATEOS for some stuff, browser local storage for some stuff etc. and >>>>> not have sessions at all?? >>>>> >>>>> I feel we need sessions as a lot of simple things become hard without >>>>> them. >>>>> >>>>> Then comes the question of how do we do sessions and whether we do >>>>> some kind of replication or rely on affinity based routing. >>>>> >>>>> On Wed, Mar 9, 2016 at 5:23 PM, Afkham Azeez <[email protected]> wrote: >>>>> >>>>>> With such a model, you don't have to worry about things like session >>>>>> replication in order to achieve HA. >>>>>> >>>>>> On Wed, Mar 9, 2016 at 3:32 PM, Manuranga Perera <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Should we aim to do the same in the UIs we ship, such as products ES? >>>>>>> There will be some extra effort. >>>>>>> >>>>>>> On Wed, Mar 9, 2016 at 2:12 PM, Afkham Azeez <[email protected]> wrote: >>>>>>> >>>>>>>> In the petstore sample, the sessions of the frontend apps are >>>>>>>> stored in Redis. >>>>>>>> >>>>>>>> On Wed, Mar 9, 2016 at 1:57 PM, Imesh Gunaratne <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Manuranga, >>>>>>>>> >>>>>>>>> Yes, what you are saying it true! We should only use session aware >>>>>>>>> load balancing for existing applications which has session management >>>>>>>>> features built into them. >>>>>>>>> >>>>>>>>> Ideally when implementing new applications those should be >>>>>>>>> designed in a way to store their sessions outside the application >>>>>>>>> (irrespective of they run on containers or not). This can be done with >>>>>>>>> either using a database or a service (ex: Redis). In that way we can >>>>>>>>> scale >>>>>>>>> the application and session management service separately and also >>>>>>>>> route >>>>>>>>> request without handling sessions at the load balancer level. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> On Wed, Mar 9, 2016 at 1:12 PM, Manuranga Perera <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> We are currently using sessions and session affinity in our apps. >>>>>>>>>> But going forward, especially in Micro Services/Docker model does it >>>>>>>>>> make >>>>>>>>>> scene? >>>>>>>>>> >>>>>>>>>> Eg: If we bring up a new container due to high load, requests >>>>>>>>>> will still route to old continents due to the session. If we kill a >>>>>>>>>> container that is associated with some session where should the >>>>>>>>>> request go? >>>>>>>>>> >>>>>>>>>> We have written (I think) a session aware router for Docker. It's >>>>>>>>>> ok for external apps, but I think it defeats the purpose of >>>>>>>>>> containerization, due to about reasons. >>>>>>>>>> >>>>>>>>>> I think the correct way to do this in our apps is to, have >>>>>>>>>> authentication as a service. A micro service will translate the >>>>>>>>>> session-id >>>>>>>>>> to a token. App depends fully on the token. >>>>>>>>>> >>>>>>>>>> What do you think? >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> With regards, >>>>>>>>>> *Manu*ranga Perera. >>>>>>>>>> >>>>>>>>>> phone : 071 7 70 20 50 >>>>>>>>>> mail : [email protected] >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Imesh Gunaratne* >>>>>>>>> Senior Technical Lead >>>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>>> W: http://imesh.io >>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Afkham Azeez* >>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>> * <http://www.apache.org/>* >>>>>>>> *email: **[email protected]* <[email protected]> >>>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>>>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>>>>> <http://twitter.com/afkham_azeez> >>>>>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>>>>> >>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> With regards, >>>>>>> *Manu*ranga Perera. >>>>>>> >>>>>>> phone : 071 7 70 20 50 >>>>>>> mail : [email protected] >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Afkham Azeez* >>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>> * <http://www.apache.org/>* >>>>>> *email: **[email protected]* <[email protected]> >>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>>> <http://twitter.com/afkham_azeez> >>>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>>> >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Sanjiva Weerawarana, Ph.D. >>>>> Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ >>>>> email: [email protected]; office: (+1 650 745 4499 | +94 11 214 5345) >>>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311 >>>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva >>>>> Lean . Enterprise . Middleware >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Afkham Azeez* >>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>> Member; Apache Software Foundation; http://www.apache.org/ >>>> * <http://www.apache.org/>* >>>> *email: **[email protected]* <[email protected]> >>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>> *twitter: **http://twitter.com/afkham_azeez* >>>> <http://twitter.com/afkham_azeez> >>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>> >>>> *Lean . Enterprise . Middleware* >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> Sanjiva Weerawarana, Ph.D. >>> Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ >>> email: [email protected]; office: (+1 650 745 4499 | +94 11 214 5345) >>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311 >>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva >>> Lean . Enterprise . Middleware >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> With regards, >> *Manu*ranga Perera. >> >> phone : 071 7 70 20 50 >> mail : [email protected] >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Sanjiva Weerawarana, Ph.D. > Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ > email: [email protected]; office: (+1 650 745 4499 | +94 11 214 5345) > x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311 > blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva > Lean . Enterprise . Middleware > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>* *email: **[email protected]* <[email protected]> * cell: +94 77 3320919blog: **http://blog.afkham.org* <http://blog.afkham.org> *twitter: **http://twitter.com/afkham_azeez* <http://twitter.com/afkham_azeez> *linked-in: **http://lk.linkedin.com/in/afkhamazeez <http://lk.linkedin.com/in/afkhamazeez>* *Lean . Enterprise . Middleware*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
