I would love to use this for the app I am building, only thing thats preventing me from using this is, I already have some data , and I need a way to use my exiisting data ( may be offering an import solution would serve the purpose )
We are preparing to launch an API in the coming weeks that will allow you to import(and export) your data into GoInstant. We'd love to give you a sneak peak by giving you access to the beta. If you're interested please drop me an email (available in my profile).
WebSocket book(oracle press) at the beginning of this month, TogetherJS a few days ago and now GoAngular/Instant. For me the timing couldn't have been better.
TogetherJS has references to hosting your own server, but I couldn't find something similar on GoInstant. I am still digging around on their site though.
BTW, what did you end up doing? Did you build something of your own? Any gotchas you would like to share? I am investigating if Nginx will co-operate with the websocket connections and what will be the price of maintaining live connections to a bunch of clients. I am kind of inclined to build and run my own server...
You don't need a server, we offer our realtime collaborative stack as a service. We're cooking something up right now similar to TogetherJS, if you'd like a sneak peak drop me a email (in my profile).
If you want to build and host your own realtime application take a look at HAProxy (tcp mode in 1.4) for load balancing the incoming websocket connections to your application stack. There has been a lot of success using Node.js with engine.io, socket.io, or take a look at the meta Primus module.
Thanks a lot for all the pointers. Really appreciate it.
BTW any plans to zero-in on the pricing anytime soon? I saw that for one app you will always keep it free, but it will be nice to know what happens beyond that..
I don't understand what GoInstant does, the "How it Works" page tells me nothing. How does the real time functionality work? Is it MVCC, Operational Transformation, just a locking protocol?
GoInstant offers a hierarchical key-value store that is synchronized between all users inside your application. We offer a couple of mechanisms when last-to-write is not sufficient.
You can use set overwrite[1] (similar to redis SETNX) with key expiry[2] to create locks and then leverage our ACL[3] to secure[4] which users and groups can modify the data.
We are currently planning to implement MVCC based transactions and operational transformation primitives into our core Key interface. I can't say when these features will be ready, but we definitely want to get to them!
We offer fine-grained access control lists that work with our authentication mechanism that gives the developer the ability to determine exactly which users and groups can modify data. You can read more about our ACL implementation at https://developers.goinstant.com/v1/guides/creating_and_mana....
Security is a huge priority for us and will continue to be moving forward, we will continue to work towards building features that enable and documentation that focuses on building secure realtime applications using our Platform.
Not golang related as I can tell.