distributed

Are there any general algorithms for achieving eventual consistency in distributed systems?

家住魔仙堡 提交于 2019-12-06 03:21:04
问题 Are there any algorithms that are commonly used for achieving eventual consistency in distributed systems? There are algorithms that have been developed for ACID transactions in distributed systems, Paxos in particular, but is there a similar body of theory that has been developed for BASE scenarios, with weaker consistency guarantees? Edit: This appears to be an area of academic research that is only beginning to be developed. Mcdowella's answer shows that there has been at least some work

Is there an use case for non-blocking receive when I have threads?

你。 提交于 2019-12-06 02:20:30
问题 I know non-blocking receive is not used as much in message passing, but still some intuition tells me, it is needed. Take for example GUI event driven applications, you need some way to wait for a message in a non-blocking way, so your program can execute some computations. One of the ways to solve this is to have a special thread with message queue. Is there some use case, where you would really need non-blocking receive even if you have threads? 回答1: Threads work differently than non

Emulating network disconnects to locally test distributed app partitioning

≡放荡痞女 提交于 2019-12-06 02:14:06
问题 I have several instances of a distributed application running on the localhost; every instance communicate with others through certain ports, all instances together make an ensemble. (I'm actually talking about ZooKeeper, running on Linux) Now I want to write unit tests to emulate ensemble partitioning. E.g. I have 5 instances, and I want to split them into two groups of 3 and 2 so that an instance from one group couldn't communicate to an instance from another group. It would emulate real

What is the use of REST in distributed web application [closed]

旧时模样 提交于 2019-12-05 18:25:09
Closed . This question needs to be more focused . It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post . Closed 5 years ago . I am learning about REST API and I am unable to understand how REST is used in distributed web application? This is the only reference i have seen. But still I am unable to learn about REST for distributed computing. Thank You in advance. It isn’t really clear to me, what you are asking with your question, but generally - REST is just another way to do RMI (Remote Method

Is it possible to set up a Linux box with distcc to build my XCode projects?

旧城冷巷雨未停 提交于 2019-12-05 14:39:53
I have a mac mini on which I do some iphone and other experimental development. It is hideously slow to build some of the larger projects I have tried out (like 3d engines and such). There are some support for distributed builds with distcc and I have a quad core linux box just standing idle beside it. The question is: is it possible to set up a distcc environment on the linux box that would build ordinary mac objective c or c++ projects, or even iphone projects? Has anyone tried/succeeded in doing this, or is it just not possible? Yes, it's possible. No, it's not easy. But I've done most of

How good is NTP for distributed time synchronization?

我与影子孤独终老i 提交于 2019-12-05 11:52:22
How accurate is NTP for keeping a set of servers time synchronized? I'm writing a service which requires a set of servers (some acting as clients, some as servers) synchronized to second level granularity. I'm wondering if NTP is the best thing to use, or if there's something better? Should I run a ntp server on one of them, and have the others use that as their source? Any other recommendations/horror stories with NTP? All the servers are linux. Update: Service levels: I'd like the one server to be accurate UTC(second level, not microsecond or such), and I'd like all the other servers to be

What is the TrueTime API in Google's Spanner?

三世轮回 提交于 2019-12-05 11:37:23
I tried to read the document multiple times but failed to understand it. Can someone explain it in layman's terms? TrueTime is an API available at Google that directly exposes clock uncertainty. Comparing to standard datetime libraries , instead of a particular timestamp, TrueTime's now() function returns an interval of time [earliest, latest]. It also provides two functions: after(t) returns true if t has definitely passed. E.g. t < now().earliest . before(t) returns true if t has definitely not arrived, or t > now().latest . What's impressive, is that the implementation of now() returns

socket appenders - basic example step by step [closed]

大兔子大兔子 提交于 2019-12-05 10:55:08
Could you recommend simple tutorial about using log4j in distributed system, especially about SocketAppender? I tried to find some basic examples, but I failed. Brian Agnew This one looks simple and straightforward. From the article: Example server startup with SimpleSocketServer (from the command line): > java -jar log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties Now all you have to do is specify your appender on the client. Example appender: > log4j.appender.SERVER=org.apache.log4j.net.SocketAppender > log4j.appender.SERVER.Port=4712 > log4j.appender.SERVER

Why is multi-paxos called multi-paxos?

别说谁变了你拦得住时间么 提交于 2019-12-05 09:45:10
Why multi-paxos is called multi-paxos? I can't see how it is "multi". It's about multiple rounds of the algorithm to agree sequential requests from a stable leader with minimal messaging. Initially with no recognised leader you must run at least one round of basic Paxos where a candidate leader sends a prepare request (using the terminology of the paper Paxos Made Simple ). Positive responses from a majority confirm it as leader. It then sends accept messages for that round which terminates successfully if you get a majority of accept acknowledgements. Rather than start again with prepare

Shutdown dask workers from client or scheduler

人盡茶涼 提交于 2019-12-05 06:03:58
In the API, there is a way to restart all workers and to shutdown the client completely, but I see no way to stop all workers while keeping the client unchanged. Is there a way to do this that I cannot find or is it a feature that doesn't exist ? mdurant This seems like a feature that does not exist, but is nevertheless doable using the current code. You can use run_on_scheduler to interact with the methods of the scheduler itself. workers = list(c.scheduler_info()['workers']) c.run_on_scheduler(lambda dask_scheduler=None: dask_scheduler.retire_workers(workers, close_workers=True)) where c is