11. vagrant
$ git clone https://github.com/coreos/coreos-vagrant.git
$ cd coreos-vagrant
$ vi user-data # edit config
$ vagrant up
*vagrant : Virtual Machine 자동 관리 툴
30. service discovery
etcd
TTL 자동으로 삭제 되는 value > 서비스가 비정상적으로 종료되었을 경우에도 체크 가능함
WATCH value 변화를 감지 > 바로바로 즉시성으로 대응 가능함
APP NGINX
APP ip/port APP ip/port
XXX ip/port NGINX ip/port
31. service discovery
ip port 등록
/services/app/app_1
{
“ip”: “172.17.8.101”,
“port”: “8080”
}
while true; do
etcdctl set /services/app/app_1 “{xxx}” —-ttl 60;
sleep 45;
done
32. service discovery
ip port 발견
/services/app/app_1
{
“ip”: “172.17.8.101”,
“port”: “8080”
}
설정 적용
upstream web_application {
<% infos.each do |info| %>
server <%= info["ip"] %>:<%= info["port"] %>;
<% end %>
}
서비스 재시작
$ nginx -s reload