[{"data":1,"prerenderedAt":330},["ShallowReactive",2],{"project-21491378":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":73,"maker_in_thread":158,"shape":165,"grid":170,"attempts":290,"same_week":291,"maker_shows":37,"maker_hidden":322,"reader_version":323,"card":324},"21491378","Go Micro","A Go microservices development framework","title","Show HN: Go Micro – A Go microservices development framework","https:\u002F\u002Fgo.micro.mu","go.micro.mu","chuhnk",1573305883,2019,68,45,671,2195,31,"notable","languages","microservices framework","library",[24,21,25,26,27],"go microservices","distributed systems","service discovery","golang","roasted",-0.591,{"positive":31,"neutral":32,"mixed":31,"critical":33},0,2,8,10,{"execution":36,"idea":38,"privacy":39,"docs":41},{"positive":31,"critical":37},4,{"positive":31,"critical":32},{"positive":31,"critical":40},1,{"positive":31,"critical":40},[40,40,31,31,40,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,40,31,31,31,31,31,43,31,31,40,31,40,31,43,40,31,40],3,null,{"problem":46,"audience":53,"pricing":44,"motivation":60,"time_to_build":44,"stack":64,"openness":70,"stage":71,"team_size":72},{"value":47,"source":48,"evidence":49},"Building distributed systems requires infrastructure understanding; the framework provides abstractions so developers can focus on writing services","maker",[50],{"id":51,"by":11,"text":52},"21493213","Your assumption is that the framework handles this complexity for you. This incorrect. It provides abstractions to the developer which then allows them to build on these while…",{"value":54,"source":48,"evidence":55},"Developers building microservices in Go, especially teams scaling to many engineers",[56,59],{"id":57,"by":11,"text":58},"21492179","OP here. I agree with you completely. People shouldn't be building these frameworks. Let's rally around one or two frameworks per language where appropriate and drive that as the…",{"id":51,"by":11,"text":52},{"value":61,"source":48,"evidence":62},"Maker built it after working at Google and Hailo, finding no tools in 2015 to solve distributed scaling problems for everyone else",[63],{"id":57,"by":11,"text":58},[65],{"value":66,"source":48,"evidence":67},"Go",[68],{"id":69},"post","open_source","launched","solo",{"praise":74,"objections":75,"requests":120,"questions":129,"alternatives":141},[],[76,92,102,113],{"value":77,"source":78,"evidence":79},"Microservices are often overkill and add complexity before organizational need","commenter",[80,84,88],{"id":81,"by":82,"text":83},"21491927","GiorgioG","Not knocking the OP, or his\u002Fher effort, but I think the number of microservice frameworks exceeds the number of organizations that actually have the problems that microservice…",{"id":85,"by":86,"text":87},"21492208","roganartu","I would argue that, unless you are supporting many developers working on the same project simultaneously (as in, hundreds if not thousands), that microservices will actually slow…",{"id":89,"by":90,"text":91},"21492251","PopeDotNinja","Every microservice you carve out of a monolith gives you at least 2 public APIs you didn't have to worry about before, and makes local development that much more complicated. I…",{"value":93,"source":78,"evidence":94},"Frequent breaking changes and poor communication channels",[95,99],{"id":96,"by":97,"text":98},"21494200","Someoneelse77","There are breaking changes like every second minor release, functionality gets removed, dependent repositories get deleted\u002Frenamed\u002Fmoved by author. PRs are discussed on the wrong…",{"id":100,"by":11,"text":101},"21494306","Thank you for the honest feedback. We're moving fairly quickly in regards to the evolution of the framework. Some of that results in breaking changes and you're right we haven't…",{"value":103,"source":78,"evidence":104},"Service discovery and load balancing are better handled by the platform such as Kubernetes",[105,109],{"id":106,"by":107,"text":108},"21495266","holografix","Service Discovery, load balancing. Aren't these things that should be done by the underlying platform? In other words: if I'm using this with K8s doesn't K8s do that for me? What…",{"id":110,"by":111,"text":112},"21492976","jrockway","I fear this does too much. All applications should care about is an API to do what they want, so all you need to decide on is a messaging protocol, which is probably going to be…",{"value":114,"source":78,"evidence":115},"Framework lacks documented rationale and tradeoffs",[116],{"id":117,"by":118,"text":119},"21492810","vemv","I'd help a lot if the project showed rationale, alternatives, its taken choices and the corresponding tradeoffs. Otherwise, one is essentially invited to blindly adopt someone…",[121,125],{"value":122,"source":78,"evidence":123},"Document design rationale, alternatives and tradeoffs",[124],{"id":117,"by":118,"text":119},{"value":126,"source":78,"evidence":127},"Establish proper communication channels for breaking changes",[128],{"id":96,"by":97,"text":98},[130,134],{"value":131,"source":78,"evidence":132},"What benefits does Go Micro give beyond Kubernetes service discovery and load balancing?",[133],{"id":106,"by":107,"text":108},{"value":135,"source":78,"evidence":136},"Why use this framework rather than a simpler approach such as net\u002Frpc?",[137],{"id":138,"by":139,"text":140},"21492316","tedunangst","Having built a micro service of sorts just yesterday with nothing more than net\u002Frpc, it wasn't that bad.",[142,146,150,154],{"value":143,"source":78,"evidence":144},"Envoy, Istio and Linkerd for load balancing and tracing",[145],{"id":110,"by":111,"text":112},{"value":147,"source":78,"evidence":148},"Kubernetes for service discovery",[149],{"id":106,"by":107,"text":108},{"value":151,"source":78,"evidence":152},"Plain net\u002Frpc",[153],{"id":138,"by":139,"text":140},{"value":155,"source":78,"evidence":156},"Prometheus, Grafana, Jaeger for observability",[157],{"id":110,"by":111,"text":112},{"comments":37,"answered":32,"key":159},[160,161,162],{"id":57,"text":58},{"id":100,"text":101},{"id":163,"text":164},"21498292","I'm assuming you're from a certain large corporate from whom no one actively engages our community or makes any comments on PRs or creates any issues or contributes anything for…",{"commenters":166,"max_depth":167,"maker_replies":37,"first_comment_mins":168,"lifespan_hours":169},35,5,105,26,[171,175,178,182,185,187,191,195,199,201,203,206,209,213,216,220,223,226,228,230,233,236,237,238,241,244,247,250,253,256,260,263,265,269,271,274,276,277,278,281,282,284,286,287,289],[172,31,40,173,174,31],"21492100","project\u002Fcritical\u002Fexecution","kubanczyk",[176,31,40,173,177,31],"21493539","Hamcha",[179,31,31,180,181,31],"21494731","commenter\u002Fneutral\u002Fnone","wishinghand",[183,31,31,180,184,31],"21495388","winrid",[81,40,40,186,82,31],"project\u002Fcritical\u002Fidea",[188,40,31,189,190,31],"21492088","other\u002Fneutral\u002Fidea","alttab",[192,40,31,193,194,31],"21492240","commenter\u002Fcritical\u002Fidea","allover",[196,40,31,197,198,31],"21492259","commenter\u002Fneutral\u002Fidea","weberc2",[200,40,31,197,194,31],"21492364",[202,40,31,189,198,31],"21492253",[204,40,31,189,205,31],"21492437","JustSomeNobody",[207,40,31,197,208,31],"21496290","lucidone",[210,40,31,211,212,31],"21492094","other\u002Fcritical\u002Fidea","glouwbug",[214,40,31,211,215,31],"21492146","Ididntdothis",[217,40,31,218,219,31],"21497744","other\u002Fneutral\u002Fnone","tonyedgecombe",[221,40,31,211,222,31],"21492155","shantly",[224,40,31,189,225,31],"21492654","sethammons",[227,40,31,197,222,31],"21493502",[229,40,31,197,198,31],"21492158",[231,40,31,197,232,31],"21492941","felipellrocha",[234,40,31,189,235,31],"21492107","Hitton",[85,40,31,211,86,31],[89,40,31,211,90,31],[239,40,31,197,240,31],"21492356","cle",[242,40,31,189,243,31],"21492520","kemitche",[245,40,31,189,246,31],"21492754","oftenwrong",[248,40,40,249,139,31],"21492506","project\u002Fcritical\u002Fprivacy",[251,40,31,211,252,31],"21492511","GrumpyNl",[254,40,31,211,255,31],"21492839","aloknnikhil",[257,40,31,258,259,31],"21492167","other\u002Fpositive\u002Fidea","grepthisab",[261,40,31,189,262,31],"21492168","diamondo25",[57,40,31,264,11,40],"maker\u002Fneutral\u002Fidea",[266,40,43,267,268,31],"21492752","maker\u002Fneutral\u002Fnone","alexellisuk",[270,40,31,189,111,31],"21492780",[272,40,31,193,273,31],"21494321","bwilliams",[275,40,31,197,111,31],"21494667",[96,32,40,173,97,31],[100,32,31,267,11,40],[279,32,40,173,280,31],"21497676","volkandemirel94",[163,32,31,180,11,40],[106,43,43,283,107,31],"project\u002Fneutral\u002Fidea",[117,37,40,285,118,31],"project\u002Fcritical\u002Fdocs",[138,167,31,218,139,31],[110,288,40,186,111,31],6,[51,288,31,264,11,40],[],[292,297,302,307,312,317],{"id":293,"name":294,"points":295,"category":296},"21504023","DevShop",393,"games",{"id":298,"name":299,"points":300,"category":301},"21522830","hntitlenator",285,"ai",{"id":303,"name":304,"points":305,"category":306},"21527188","Workouts",233,"learning_science",{"id":308,"name":309,"points":310,"category":311},"21505986","first draft",224,"productivity",{"id":313,"name":314,"points":315,"category":316},"21473220","UView",193,"infrastructure",{"id":318,"name":319,"points":320,"category":321},"21472817","Collective.Energy",167,"consumer_social",false,"v2",{"id":325,"name":5,"line":6,"ai":322,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":326,"top":18,"kw":327,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":328,"url":9,"mix":329,"praise":-1,"objection":77,"sub":21},21491378,-0.59,[24,21,25,26,27],"1100100000000000000000010000030010103101",[31,32,31,33],1793990997859]