Decentralized-Messaging-AWS-Paxos

所属分类:中间件编程
开发工具:Python
文件大小:0KB
下载次数:0
上传日期:2019-06-17 14:20:19
上 传 者sh-1993
说明:  AWS上使用CloudFormation EC2的去中心化、容错消息服务-基于Paxos协议,
(A decentralized, fault-tolerant, messaging service on AWS using CloudFormation EC2 - based on the Paxos Protocol,)

文件列表:
AWS Deployment/ (0, 2019-06-17)
AWS Deployment/CloudFormation Template/ (0, 2019-06-17)
AWS Deployment/CloudFormation Template/template.json (12911, 2019-06-17)
LICENSE (1071, 2019-06-17)
[PAPER] Distributed Social Networking Application with Paxos.pdf (104733, 2019-06-17)
contributors.png (12842, 2019-06-17)
src/ (0, 2019-06-17)
src/acceptor_module.py (7122, 2019-06-17)
src/event_module.py (3706, 2019-06-17)
src/learner_module.py (2546, 2019-06-17)
src/log_module.py (6574, 2019-06-17)
src/main.py (5209, 2019-06-17)
src/message.py (5063, 2019-06-17)
src/proposer_module.py (12271, 2019-06-17)
src/run_client.py (5238, 2019-06-17)
src/run_client.sh (142, 2019-06-17)
src/run_server.py (3185, 2019-06-17)
src/run_server.sh (140, 2019-06-17)
src/server_hosts.txt (86, 2019-06-17)

# Overview A decentralized, fault-tolerant, messaging service on AWS using CloudFormation / EC2. By combining the Paxos algorithm with AWS's infrastructure - we were able to create a service that can reach consensus, withstand failures of an availability zone (nodes spread over 3 AZs by default), and recover from data loss and other disasters. ## Contributors ## AWS Services * CloudFormation * Elastic Compute Cloud (EC2) ## AWS Deployment using CloudFormation ###### Inside the "AWS Deployment" folder you'll find the CloudFormation template used in the deployment below 1. Create a new stack in CloudFormation and upload **template.json**. 2. Specify the stack name, private IPs (ensure subnet exists in that AZ), usernames, EC2 Key Pair, and the range of IPs you'd like to have SSH access to your cluster. Default settings provided will deploy in us-west-2a, us-west-2b, us-west-2c using Amazon Linux 2 ami's and give SSH access to all IPs. **It is highly recommended you restrict SSH access to only your public IP**, such as 163.162.122.3.55/32 where 163.162.122.3.55 is the public IP of the remote user. ## Usage Once deployed, you are able to launch the user interface where you can tweet messages, view timeline, follow/unfollow users, view logs, etc. This interface can be launched from within the cluster or locally on your own machine. ****Messaging within the Cluster**** 1. SSH to one of the EC2 public IPs using the same Key Pair specified in step 2 2. Run the following to switch the server to interactive mode and initiate the messaging client: cd /twitter/src/ sudo sh run_client.sh ****Messaging Remotely over Internet**** 1. Download a copy of the git repository 2. Update **server_hosts.txt** to include the public IP addresses of your EC2 instances: EC2_PUBLIC_IP 9021 9022 9023 EC2_PUBLIC_IP 9021 9022 9023 EC2_PUBLIC_IP 9021 9022 9023 3. Navigate to the src directory and launch message.py to initiate the messaging client. Ensure that your machine has ports 9021-9023 open as these are the ports the servers will attempt to communicate to you on.

近期下载者

相关文件


收藏者