This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-06
Channels
- # alda (3)
- # beginners (109)
- # boot (24)
- # cljsrn (17)
- # clojure (41)
- # clojure-brasil (2)
- # clojure-china (1)
- # clojure-russia (19)
- # clojure-spec (9)
- # clojure-uk (5)
- # clojurescript (44)
- # cloverage (5)
- # core-async (3)
- # css (2)
- # datascript (6)
- # datomic (26)
- # emacs (2)
- # events (10)
- # hoplon (24)
- # lambdaisland (1)
- # om (2)
- # onyx (16)
- # other-languages (10)
- # proto-repl (2)
- # re-frame (14)
- # spacemacs (2)
- # untangled (4)
- # videos (1)
from googling around i got the impression that datomic is not really fit for use in a microservice environment because of the "process" based licensing. is this still the case? we could really use some ACID properties for our cassandra cluster 😕
so far the "solution" has been to implement all the great stuff datomic provides in an ad-hoc manner as is custom, but i'd rather get our customer to maybe license a fairly big installation with about 30 microservice, currently 3 instances each. but paying all of them seperately is clearly insane
i assume you mean running peers and transactors as seperate services and adding 1-2 hops?
i guess for most of them this would probably be okayish, since a memcached installation would probably answer about as fast as the cassandra does now
so is that actually a "valid" workaround to have your peer as a seperate microservice and talk over the REST api with datomic? that seems like "cheating" the license from the other side
have you seen http://docs.datomic.com/rest.html ?
that doesn’t exactly answer your question, but it’s a sign that having peers act as REST APIs isn’t outside what the creators intended
AFAIK cognitect don’t mind you having as many clients as you want talking to your peers (in your example, the microservice(s) with direct connections to datomic)
but if you already have 30 microservices that talk to a database, it might be a pain to rewrite them to get what they need from other microservices instead
well, i really hope i can get this through. cassandra lightweight transactions are a major pain to deal with
basically they tell you that you should almost never use them and if, they don't even guarantee that they will be consistent under contention... -_-
so you are basically forced to write both a transactor and some "aggregator" anyway or do leader election and such yourself. totally not what i expected from a persistent storage 😕
A few weeks/months ago someone posted a link to a blogpost here on Slack, that showed how to implement Datomic or a datalog engine from scratch. I don't remember 100% anymore. Does anybody know the link to that blog?
would that be it?
Yea that was it 😄
Muchas gracias
@fossifoo: I'd be happy to discuss options and approaches folks use for microservices with Datomic. Shoot me an email (marshall at http://cognitect.com) and we can schedule something.