I think the either the term distributed systems has been watered down or perhaps my definition was too strict vs what most people think it means. To me something is only a distributed system if it infact has stateful (even ephemerally) components that interact with each other through some sort of distributed consensus or eventual consistency algorithm. This on the other hand seems more like an application framework f…
A distributed system doesn’t require consensus at all. Consensus is just a famous category of problems within the field of distributed systems, and there are many different types of consensus requirements. I like Leslie lamport’s definition of a distributed system. I’m paraphrasing but it’s something to the effect, “a distributed system is when your program crashes because of a computer you never even heard of”. So y…
Show HN: Encore – Go framework for building distributed systems
61–70 of 71 posts
Re: Show HN: Encore – Go framework for building distributed systems
#62Earlier quoted context omitted.
A distributed system doesn’t require consensus at all. Consensus is just a famous category of problems within the field of distributed systems, and there are many different types of consensus requirements. I like Leslie lamport’s definition of a distributed system. I’m paraphrasing but it’s something to the effect, “a distributed system is when your program crashes because of a computer you never even heard of”. So y…
I didn't say it requires consensus but rather that it's often present. Absence of it doesn't disqualify it because eventually consistent systems are definitely "distributed systems". I guess my quandary is between what I would consider embarrassing parallel scale out problems vs distributed systems that often do some sort of coordination even if that is loose coordination in the case of things like p2p protocols ala…
Your definition is too strict. Distributed systems are systems where the components of a system are distributed across a network. There are more issues than just consistency of data. You could have a system that doesn’t store data at all but still is considered distributed due to the nature of it being spread across a network.
Re: Show HN: Encore – Go framework for building distributed systems
#63I think the either the term distributed systems has been watered down or perhaps my definition was too strict vs what most people think it means. To me something is only a distributed system if it infact has stateful (even ephemerally) components that interact with each other through some sort of distributed consensus or eventual consistency algorithm. This on the other hand seems more like an application framework f…
Re: Show HN: Encore – Go framework for building distributed systems
#64Nice to see elixir get a but of competition in this space. They are fighting an uphill battle to beat the OTP + lib-cluster + horde combo that elixir developers have but that autogenerated api stuff looks neat.
Re: Show HN: Encore – Go framework for building distributed systems
#65Any ideas how this compares with [go-kit]( https://github.com/go-kit/kit )? I like how go-kit's transport not just JSON and HTTP (e.g. gRPC and protobufs are supported).
Re: Show HN: Encore – Go framework for building distributed systems
#66I think the either the term distributed systems has been watered down or perhaps my definition was too strict vs what most people think it means. To me something is only a distributed system if it infact has stateful (even ephemerally) components that interact with each other through some sort of distributed consensus or eventual consistency algorithm. This on the other hand seems more like an application framework f…
Well you're going to learn something new! Here's the short definition from Wikipedia:
Distributed computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system.
https://en.wikipedia.org/wiki/Distributed_computing
Any system that is distributed between multiple machines over a network and communicate with each other is a distributed system. The term is purposefully generic and not required to be constrained.
Re: Show HN: Encore – Go framework for building distributed systems
#67I think the either the term distributed systems has been watered down or perhaps my definition was too strict vs what most people think it means. To me something is only a distributed system if it infact has stateful (even ephemerally) components that interact with each other through some sort of distributed consensus or eventual consistency algorithm. This on the other hand seems more like an application framework f…
I think one typical "distributed systems problem" that comes in even with a SOA of stateless services is transactions and eventual consistency. That being said I sorta agree that a distributed system without state is at least a much simplified version of "true" distributed systems.
I'm unsure where this protection of a term for more "complex" systems come from. It's a rather simple term that doesn't require to be needlessly reserved.
Re: Show HN: Encore – Go framework for building distributed systems
#68Any ideas how this compares with [go-kit]( https://github.com/go-kit/kit )? I like how go-kit's transport not just JSON and HTTP (e.g. gRPC and protobufs are supported).
If you look at the docs you can see that encore does much more than go-kit, like provisioning infrastructure, autoscaling etc. It seems like go-kit + kubernetes environment.
Re: Show HN: Encore – Go framework for building distributed systems
#69Platforms are typically garbage. This is garbage. Love this quote by the way. "With Encore you write your apps using Go, a modern programming language developed by Google to make backend development simpler. Rapidly growing and designed to be easy to learn, Go is the language of the cloud." I think the irony of Go is that it is easier to "script" things in Go than in NodeJS for instance. This makes it the right tool…