[{"data":1,"prerenderedAt":417},["ShallowReactive",2],{"project-15895863":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":43,"post_text":44,"what":45,"said":88,"maker_in_thread":214,"shape":216,"grid":220,"attempts":380,"same_week":381,"maker_shows":41,"maker_hidden":409,"reader_version":410,"card":411},"15895863","Sandglass","Distributed, scalable, persistent time-sorted message queue","title","Show HN: Sandglass – Distributed, scalable, persistent time-sorted message queue","https:\u002F\u002Fgithub.com\u002Fcelrenheit\u002Fsandglass","github.com","celrenheit",1512981830,2017,188,68,184,2242,9,"notable","infrastructure","message queue","library",[21,24,25,26],"task queue","distributed queue","message scheduling","mixed",-0.171,{"positive":30,"neutral":18,"mixed":31,"critical":32},4,0,10,23,{"idea":35,"docs":38,"execution":40,"design":42},{"positive":36,"critical":37},1,2,{"positive":37,"critical":39},5,{"positive":31,"critical":41},3,{"positive":36,"critical":31},[36,31,36,41,31,31,31,31,31,31,31,31,31,31,31,31,31,31,36,36,41,31,39,36,41,36,31,41,31,31,31,41,36,31,41,31,41,36,39,39],null,{"problem":46,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":58,"openness":85,"stage":86,"team_size":87},{"value":47,"source":48,"evidence":49},"Tracking messages individually and scheduling messages for future consumption, for asynchronous tasks and retries","commenter",[50,54],{"id":51,"by":52,"text":53},"15896330","eddd","These buzzword product descriptions are terrible. Documentation should say first, what does this piece of code do and when should I use it. The actual rationale for this project…",{"id":55,"by":56,"text":57},"15895993","ddorian43","No: The first is to be able to track each message individually (i.e. not using a single commit offset) to make suitable for asynchronous tasks. The second is the ability to…",[59,67,78],{"value":60,"source":48,"evidence":61},"Go",[62,63],{"id":51,"by":52,"text":53},{"id":64,"by":65,"text":66},"15899831","erulabs","er? This appears to be all Go, but regardless, dunno how a segfault means more or less dataloss for Node than for anything else?",{"value":68,"source":48,"evidence":69},"RocksDB",[70,74],{"id":71,"by":72,"text":73},"15896110","dvdplm","What does Sandglass use for persistence? Is it using something like Rocksdb under the hood or is the WAL and VL \"homegrown\"?",{"id":75,"by":76,"text":77},"15896172","debarshri","It seems like it uses rocksdb for persistance. https:\u002F\u002Fgithub.com\u002Fcelrenheit\u002Fsandglass\u002Fblob\u002Fdev\u002Fstorage\u002Frocksdb\u002Frocksdb.go",{"value":79,"source":48,"evidence":80},"Raft",[81],{"id":82,"by":83,"text":84},"15896914","espadrine","Faktory is CouchDB, Machinery is Redis\u002FMemcache\u002FMongoDB, Sandglass is a custom Raft on top of RocksDB… I'd love to see comparative stress tests, Jepsen-like, to assess the…","open_source","prototype","solo",{"praise":89,"objections":105,"requests":131,"questions":148,"alternatives":172},[90],{"value":91,"source":48,"evidence":92},"Interesting and promising project",[93,97,101],{"id":94,"by":95,"text":96},"15896117","adrinavarro","This looks promising. I'm currently dealing with a queuing-related issue. I have a series of tasks running across servers that consume from a queue and run a task. Often, these…",{"id":98,"by":99,"text":100},"15895910","yassinebenyahia","this is awesome, is it meant to replace kafka ?",{"id":102,"by":103,"text":104},"15895968","ninjamayo","Looking good. Question is how is it going to convince people to move over from Kafka.",[106,116,124],{"value":107,"source":48,"evidence":108},"Exactly-once delivery and time ordering in a highly available queue is a suspicious trade-off",[109,113],{"id":110,"by":111,"text":112},"15897502","menacingly","It triggers my eyebrow when a highly available message queue offers either exactly-once delivery or reliable time sorting. I'm not saying I wouldn't give this project a closer…",{"id":114,"by":111,"text":115},"15899045","Usually it would advertise \"at-least-once\" somewhere prominently, like SQS, NSQ, etc. It's really hard to be extremely available and to also guarantee there won't be dupes or…",{"value":117,"source":48,"evidence":118},"Product description is buzzword-heavy and unclear about the problem solved",[119,120],{"id":51,"by":52,"text":53},{"id":121,"by":122,"text":123},"15897030","falsedan","I think that product pages should clearly communicate what the product is to the intended audience. These are 100% buzzwords, so the message I get is, \"you will need to spend…",{"value":125,"source":48,"evidence":126},"Project is immature with a single contributor",[127],{"id":128,"by":129,"text":130},"15896193","moreless","I have no opinion about each of these projects, but his caught my eye: > Well document set of edge cases \u002F compromises where applicable and a high degree of observability. Well…",[132,140],{"value":133,"source":48,"evidence":134},"Jepsen-style testing of partitions and node failures",[135,139],{"id":136,"by":137,"text":138},"15896771","jwr","Aphyr's Jepsen or it didn't happen :-)",{"id":82,"by":83,"text":84},{"value":141,"source":48,"evidence":142},"Clearer documentation of compromises and use cases",[143,144],{"id":51,"by":52,"text":53},{"id":145,"by":146,"text":147},"15896035","buro9","> Question is how is it going to convince people to move over from Kafka That's a bit unfair given that the project didn't mention Kafka in it's README and different products…",[149,158,165],{"value":150,"source":48,"evidence":151},"Does it replace Kafka?",[152,153,157],{"id":98,"by":99,"text":100},{"id":154,"by":155,"text":156},"15896458","lloydatkinson","Why does everyone keep alluding to this replacing kafka? If anything this is more similar to RabbitMQ.",{"id":102,"by":103,"text":104},{"value":159,"source":48,"evidence":160},"How does it compare to NATS?",[161],{"id":162,"by":163,"text":164},"15896267","velodrome","How does this compare with NATS?",{"value":166,"source":48,"evidence":167},"Does it support replay from offset or time?",[168],{"id":169,"by":170,"text":171},"15899252","aphistic","I hadn't heard of Pulsar before but just checked it out as we use Kafka. Does it support replaying messages from an offset (or even better, a time) like Kafka does? I looked at…",[173,178,189,200,207],{"value":174,"source":48,"evidence":175},"RabbitMQ",[176,177],{"id":110,"by":111,"text":112},{"id":154,"by":155,"text":156},{"value":179,"source":48,"evidence":180},"Kafka",[181,185],{"id":182,"by":183,"text":184},"15898690","dkersten","Kafka perhaps?",{"id":186,"by":187,"text":188},"15899518","eternalban","Haven't looked but the ordering has to be per partition. > something else https:\u002F\u002Fwww.confluent.io\u002Fblog\u002Fexactly-once-semantics-are-possible-heres-how-apache-kafka-does-it\u002F",{"value":190,"source":48,"evidence":191},"Redis streams",[192,196],{"id":193,"by":194,"text":195},"15899394","markbnj","Perhaps redis streams http:\u002F\u002Fantirez.com\u002Fnews\u002F114",{"id":197,"by":198,"text":199},"15896271","nicois","I would think the imminent Redis streams data type would provide this better. It is battle-tested and allows great customisation to a range of use cases.",{"value":201,"source":48,"evidence":202},"Faktory",[203],{"id":204,"by":205,"text":206},"15896567","agnivade","Seems similar to faktory ? https:\u002F\u002Fgithub.com\u002Fcontribsys\u002Ffaktory",{"value":208,"source":48,"evidence":209},"NATS Streaming",[210],{"id":211,"by":212,"text":213},"15896642","piotrkubisa","Note: There is NATS streaming [1] which implements persistence and redelivery. [1]: http:\u002F\u002Fnats.io\u002Fdocumentation\u002Fstreaming\u002Fnats-streaming-intro\u002F [2]:…",{"comments":31,"answered":31,"key":215},[],{"commenters":217,"max_depth":39,"maker_replies":31,"first_comment_mins":218,"lifespan_hours":219},53,17,30,[221,223,227,229,230,231,233,236,239,242,245,248,250,251,252,255,257,259,261,264,267,269,272,275,278,281,284,287,289,292,294,297,299,303,306,309,312,314,316,320,323,324,326,328,331,334,336,337,340,341,343,345,347,350,353,354,359,360,361,362,364,365,367,368,369,372,376,379],[110,31,36,222,111,31],"project\u002Fcritical\u002Fidea",[224,31,31,225,226,31],"15897951","commenter\u002Fneutral\u002Fnone","meebs",[182,31,31,228,183,31],"other\u002Fneutral\u002Fnone",[114,31,36,222,111,31],[193,31,31,228,194,31],[186,31,41,232,187,31],"project\u002Fneutral\u002Fidea",[234,31,31,228,235,31],"15901565","lifeisstillgood",[237,36,31,228,238,31],"15896552","manigandham",[240,36,31,228,241,31],"15897053","danellis",[243,36,31,228,244,31],"15898126","pquerna",[246,36,31,228,247,31],"15897277","arcbyte",[249,36,31,228,238,31],"15897299",[169,36,31,228,170,31],[94,37,31,228,95,31],[253,37,31,228,254,31],"15896155","Bogdanp",[256,37,31,228,95,31],"15896170",[258,37,31,228,254,31],"15896187",[260,37,31,228,95,31],"15896512",[262,37,31,228,263,31],"15896757","spyspy",[265,37,31,228,266,31],"15900133","softawre",[268,37,31,228,95,31],"15904993",[270,37,31,228,271,31],"15897626","jacques_chester",[273,37,31,228,274,31],"15896275","cmsd2",[276,37,31,228,277,31],"15896756","RHSman2",[279,37,31,228,280,31],"15899560","csears",[282,37,31,228,283,31],"15896305","taspeotis",[285,37,31,228,286,31],"15896413","macdice",[288,37,31,228,238,31],"15896532",[290,37,31,228,291,31],"15896714","exhilaration",[293,37,31,228,56,31],"15897059",[295,37,31,228,296,31],"15898171","jsudhams",[51,41,36,298,52,31],"project\u002Fcritical\u002Fdocs",[300,41,41,301,302,31],"15896354","project\u002Fneutral\u002Fdocs","pas",[304,41,36,298,305,31],"15896534","dullgiulio",[307,41,41,301,308,31],"15896563","kachnuv_ocasek",[310,41,31,228,311,31],"15896978","notheguyouthink",[313,41,31,228,302,31],"15901779",[315,41,31,225,311,31],"15905918",[317,41,39,318,319,31],"15896428","project\u002Fpositive\u002Fdocs","aquadrop",[321,41,36,298,322,31],"15896444","yeukhon",[121,41,36,298,122,31],[325,41,39,318,238,31],"15896525",[327,41,36,298,52,31],"15896974",[329,41,31,225,330,31],"15897055","zdragnar",[332,41,31,225,333,31],"15896605","j_s",[136,30,41,335,137,31],"project\u002Fneutral\u002Fnone",[204,39,31,228,205,31],[338,39,31,228,339,31],"15896590","richardknop",[82,39,31,228,83,31],[342,39,31,228,339,31],"15897196",[344,39,31,228,205,31],"15897445",[197,346,31,228,198,31],6,[348,346,31,225,349,31],"15896381","skrebbel",[71,351,41,352,72,31],7,"project\u002Fneutral\u002Fexecution",[75,351,41,352,76,31],[355,356,36,357,358,31],"15896775",8,"project\u002Fcritical\u002Fexecution","tmp123tmp123",[64,356,31,225,65,31],[154,18,41,232,155,31],[162,32,31,228,163,31],[363,32,31,228,238,31],"15896542",[211,32,31,228,212,31],[102,366,41,232,103,31],11,[145,366,36,357,146,31],[128,366,36,357,129,31],[370,366,31,228,371,31],"15896070","sz4kerto",[373,366,39,374,375,31],"15896792","project\u002Fpositive\u002Fdesign","qaq",[98,377,39,378,99,31],12,"project\u002Fpositive\u002Fidea",[55,377,41,232,56,31],[],[382,387,392,397,401,405],{"id":383,"name":384,"points":385,"category":386},"15892066","Airmash",1535,"games",{"id":388,"name":389,"points":390,"category":391},"15908812","Culture Queries",572,"productivity",{"id":393,"name":394,"points":395,"category":396},"15892554","Enlight",322,"languages",{"id":398,"name":399,"points":400,"category":391},"15897259","LibreRead 1.0",210,{"id":402,"name":403,"points":400,"category":404},"15916350","Work at a Startup","web_saas",{"id":406,"name":407,"points":408,"category":396},"15906671","Joy",201,false,"v2",{"id":412,"name":5,"line":6,"ai":409,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":413,"top":18,"kw":414,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":415,"url":9,"mix":416,"praise":91,"objection":107,"sub":21},15895863,-0.17,[21,24,25,26],"1013000000000000001130513103000310303155",[30,18,31,32],1794036561610]