> Am 16.07.2015 um 18:14 schrieb "p...@highoctane.be" <p...@highoctane.be>:
> 
> 
> Le 16 juil. 2015 15:07, "Norbert Hartl" <norb...@hartl.name> a écrit :
> >
> >
> >> Am 16.07.2015 um 12:59 schrieb p...@highoctane.be:
> >>
> >> One question about Mongo.
> >>
> >> How do you handle HA (High Availability) in Pharo?
> >>
> > I don't.
> >
> >> The current driver (MongoTalk) connects to one single mongod.
> >>
> >> I haven't seen any support for replicasets and identifying who is the 
> >> mongod to write to in MongoTalk (this support is built in any Python, 
> >> Ruby, ... driver they do provide, including sharding support and GridFS).
> >>
> > As far as I know there is no support for all of these. It would be really 
> > good to have them. But if nobody contributes it may be not needed after all.
> 
> Working - slowly - on it.
> 
Great! I'd like to see support for this. If you have anything commit it. Or 
ask. I'll be happy to assist.

Norbert
> >
> 
> >> Also, I've been experiencing a couple of protocol errors when working with 
> >> mongod under some scenarios (unrecognized command coming back in the wire 
> >> protocol). Looks like MongoTalk and mongod were out of sync on the wire 
> >> protocol.
> >>
> > You need to be careful because the mongo connection is a single stream 
> > aligned request by request. If another thread writes on the stream at the 
> > same time you will experience what you call "out of sync".
> 
> Not such issue in the current code AFAIK but will look closer.
> 
> >
> > Norbert
> >
> >> Thanks and kudos for one more nice application!
> >>
> >> Phil
> >>
> >>
> >> On Thu, Jul 16, 2015 at 12:36 PM, Norbert Hartl <norb...@hartl.name> wrote:
> >>>
> >>> Hi Torsten,
> >>>
> >>> > Am 15.07.2015 um 22:51 schrieb Torsten Bergmann <asta...@gmx.de>:
> >>> >
> >>> > Another story from 2Denker is up:  http://pharo.org/success/MultiCity
> >>> >
> >>> > Client seems to be done using Amber when I check the login page which 
> >>> > was
> >>> > styled with Bootstrap. Server in Pharo with Nginx. I guess you use 
> >>> > Mongo as
> >>> > DB (with Voyage or without).
> >>> >
> >>> > @Norbert/@Marcus: if possible can you share with us a few more 
> >>> > technical details about
> >>> > the technologies/stack used. Also about size (LOC, users, nr of images)
> >>> > and pitfalls ...
> >>> >
> >>> > There is always something one can learn from the experience of others.
> >>>
> >>> sure I can give some insight in the project.
> >>>
> >>> For the admin client we use amber plus bootstrap. The backend for this is 
> >>> a pharo image with voyage. As you can see in the screenshot there is a 
> >>> geo location entered. That can be searched afterwards because mongo 
> >>> provides geo spatial indexes.
> >>>
> >>> The project is built upon a service we provide at 2denker. The service is 
> >>> a registry for app installations, users and message tokens. We provide 
> >>> libraries for ios, android and windows mobile that registers the app, 
> >>> assigns a user, requests a message token from the user and stores it. The 
> >>> service is used for notifying the user at return of the car. You then get 
> >>> a notification containing the time and price of your car rental.
> >>>
> >>> The architecture of our infrastructure is event based. Meaning that e.g. 
> >>> the installation registration service sends events to a central event bus 
> >>> like image. This stores the events in elasticsearch and provides the 
> >>> ability to register for events.
> >>>
> >>> What we had to do for this project? We've built an image that on the one 
> >>> hand serves the request of the client admin interface. On the other hand 
> >>> it registers at the event server for a certain kind of event. This event 
> >>> is triggered by the car return and piggybacks the geo location where the 
> >>> car has been left. When such an event travels through our system the 
> >>> event server sees a match and calls the image. The image extracts the geo 
> >>> information and searches the database for available advertisements. If 
> >>> one is found and conditions are met an additional message is sent.
> >>>
> >>> That's roughly it. In the whole process there are 8 pharo images involved 
> >>> but 2 are for redundancy so it is 6 different images. The rest is a mongo 
> >>> database and an elasticsearch database. If you want to know anything more 
> >>> don't hesitate to ask.
> >>>
> >>> Norbert
> >>>
> >>>
> >>>
> >>
> >

Reply via email to