A step by step guide for manual setting up ScaleOut StateServer in AWS
I wanted to keep a note on what i did to setting up the ScaleOut StateServer in AWS EC2 instances. Because cloud vendors don’t support multicast .So we have to use unicast here.So it’s a bit difference process.I am just sharing a draft here.Hope it will be helpful
Why State Servers?
Spurred by the growth of Web-based applications running on server-farms, a new category of data is beginning to play a key role in driving high performance. Called workload data, this information claims the unique properties of being simultaneously mission critical, frequently accessed, and often short lived. Workload data can either be generated by the application or it can represent data cached from recent access to a database server. Examples include intermediate business logic state, Web session-state, and cached data sets.
Distributed caching enables server-farms to meet the new performance, scalability and availability challenges created by the management of workload data.
above quoted paragraph taken from scale-out white paper explains well.For the full paper click here .
more links
Now Dive in to setting up ScaleOut State Server
- Register and Get the Trail license
You can get evaluation license for 30 days which limited to 1 host server here.But in this guide we are going to create a grid with at least 2 scaleout host servers.So you have to mail them and get the evaluation key for that we can mail to support@scaleoutsoftware.com to obatain a demo license according to our need for demo purposes which have 60days of time .
2. Create an EC2 Instance
Login to your aws console and select EC2 Services and Launch instance.I am selecting ubuntu 18.04 AMI and t2.micro instance which is on free tier.I am going with default VPC and moving forward important part is in the “Step 6: Configure Security Group” here we have to setup TCP rule over the port 720–724 to our vpc network and the remote client/application server ips.Yoiu can find your VPC network sub net ip in VPC service since i am using default it will be 172.31.0.0/16 .
Finally create the key and launch the instance.
Then create two elastic ips and associate with instances .If you feel any difficulty ask in comment section :) .
2.Install SOSS / ScaleOut StateServer
ssh to your instances from terminal. I am doing parallel in both instances
To download scaleout stateserver run
wget https://www.scaleoutsoftware.com/pkg/soss_5.8.1.331_amd64.deb
To install
sudo dpkg -i soss_5.8.1.331_amd64.deb
3.Configurations
Now add license and change other parameters
cd /usr/local/soss
nano soss_params.txt
Change below parameters
- net_interface — 172.31.0.0 (our vpc IPv4 )
- subnet_mask — 255.255.0.0 (since vpc cidr is 16)
- use_multicast — 0
- license_key — the one you obtained from mail
- gateway_ip — the public ip of the instance
- auto_join — 1
After the changes save the text file. And run terminal command
SOSS restart
so changes will take effect
Then disconnect from existing group by
soss disconnect
And create a new host group in the first server you do only.
soss create_group
In the second server just change as above without creating group run below command to join that group
soss add_host privateip of the 1st host
now run query to check the host group servers
soss query all
This will display group of ips.
You can now use your client to communicate with the state server :)
If you are interested to know more on how to add retrieve update data.how to write callback function when TIME-TO-LIVE is over comment to the post I ll write in next post
Thank you