Varnish Squid          w/	  puppet	                 @ar1	  
§                   	                	 §  Debian	                            	  §  Amazon	  Web	  Services             ...
LoadBalance:	     HighSpeed-­‐    LVS	             Cache	    HAProxy	  
(          )	      	  
        	  
               !	         	  
 
Cache	                                    Shareing	  LoadBalance:	     HighSpeed-­‐    Sibling	      LVS	             Cach...
Request URI test-­‐a.example.jp   	                             	      varnish    cache       	                         ca...
squid           cache       	          cache     sibling          	                                            HTTPD 	  
Config:	  squid	  [sibling.conf]	  cache_peer	  10.2.1.26	  sibling	  80	  3130	  [squid.conf]	  http_port	  8801	  accel	 ...
Config:	  varnish	  sub	  vcl_recv	  {	                                                                                    ...
Config:	  varnish(2)	  backend	  proxy5	  {	                                          director	  test_a_origin_example_jp	 ...
Config:	  puppet	  "   $bport	  =	  [8801,8802,8803]	  "   $baccel	  =	  ["test-­‐a-­‐origin.example.jp",	      "testk.exam...
Puppet!	  "               	  "   Cache Expire	  "                      	  "        Varnish 3                      	  
tokyo.vcl発表資料(varnish+squid)
Upcoming SlideShare
Loading in...5
×

tokyo.vcl発表資料(varnish+squid)

4,238

Published on

squid helps for varnish cache warming without origin httpd access.

イカはまだまだイケる。温故知新だぜ。

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,238
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

tokyo.vcl発表資料(varnish+squid)

  1. 1. Varnish Squid w/  puppet   @ar1  
  2. 2. §  §  Debian    §  Amazon  Web  Services   ú  Solutions  Architect   ú 
  3. 3. LoadBalance:   HighSpeed-­‐ LVS   Cache   HAProxy  
  4. 4. ( )    
  5. 5.    
  6. 6.   !    
  7. 7.  
  8. 8. Cache   Shareing  LoadBalance:   HighSpeed-­‐ Sibling   LVS   Cache   HAProxy  
  9. 9. Request URI test-­‐a.example.jp     varnish cache   cache squid  
  10. 10. squid cache   cache sibling   HTTPD  
  11. 11. Config:  squid  [sibling.conf]  cache_peer  10.2.1.26  sibling  80  3130  [squid.conf]  http_port  8801  accel  defaultsite=test-­‐a-­‐origin.example.jp  cache_peer  test-­‐a-­‐origin.example.jp  parent  80  0  originserver  name=test-­‐a-­‐origin_example_jp  acl  test-­‐a-­‐origin_example_jp  dstdomain  test-­‐a-­‐origin.example.jp  http_access  allow  test-­‐a-­‐origin_example_jp  cache_peer_access  test-­‐a-­‐origin_example_jp  allow  test-­‐a-­‐origin_example_jp  cache_peer_access  test-­‐a-­‐origin_example_jp  deny  all  http_port  8802  accel  defaultsite=test-­‐k.example.jp  cache_peer  test-­‐k.example.jp  parent  80  0  originserver  name=test-­‐k_example_jp  acl  test-­‐k_example_jp  dstdomain  test-­‐k.example.jp  http_access  allow  test-­‐k_example_jp  cache_peer_access  test-­‐k_example_jp  allow  test-­‐k_example_jp  cache_peer_access  test-­‐k_example_jp  deny  all  http_port  8803  accel  defaultsite=test-­‐a.example.jp  cache_peer  test-­‐a.example.jp  parent  80  0  originserver  name=test-­‐a_example_jp  acl  test-­‐a_example_jp  dstdomain  test-­‐a.example.jp  http_access  allow  test-­‐a_example_jp  cache_peer_access  test-­‐a_example_jp  allow  test-­‐a_example_jp  cache_peer_access  test-­‐a_example_jp  deny  all    
  12. 12. Config:  varnish  sub  vcl_recv  {   backend  proxy5_test_a_origin_example_jp  {                  if  (req.http.If-­‐Modified-­‐Since)  {      .host  =  "10.2.1.26";                                  error  304;      .port  =  "8801";                  }      .connect_timeout  =  30ms;                  if  (req.http.host  ==  "test-­‐a-­‐origin.example.jp"){   }                                  set  req.backend  =  test_a_origin_example_jp;                 backend  proxy5_test_k_example_jp  {                  }  elsif  (req.http.host  ==  "test-­‐k.example.jp"){      .host  =  "10.2.1.26";                                  set  req.backend  =  test_k_example_jp;      .port  =  "8802";        .connect_timeout  =  30ms;                  }  elsif  (req.http.host  ==  "test-­‐a.example.jp"){   }                                  set  req.backend  =  test_a_example_jp;                 backend  proxy5_test_a_example_jp  {                  }  else  {      .host  =  "10.2.1.26";                                  set  req.backend  =  default;      .port  =  "8803";                  }      .connect_timeout  =  30ms;  }   }      
  13. 13. Config:  varnish(2)  backend  proxy5  {   director  test_a_origin_example_jp  round-­‐robin  {      .host  =  "10.2.1.26";                  {  .backend            =  proxy5_test_a_origin_example_jp;  }      .port  =  "80";                  {  .backend            =  proxy4_test_a_origin_example_jp;  }}      .connect_timeout  =  30ms;}   director  test_k_example_jp  round-­‐robin  {  backend  proxy4_test_a_origin_example_jp  {                  {  .backend            =  proxy5_test_k_example_jp;  }      .host  =  "10.2.1.27";                  {  .backend            =  proxy4_test_k_example_jp;  }}      .port  =  "8801";   director  test_a_example_jp  round-­‐robin  {      .connect_timeout  =  30ms;}                            {  .backend            =  proxy5_test_a_example_jp;  }  backend  proxy4_test_k_example_jp  {                  {  .backend            =  proxy4_test_a_example_jp;  }}      .host  =  "10.2.1.27";   director  default  round-­‐robin  {      .port  =  "8802";                  {  .backend            =  proxy5;  }      .connect_timeout  =  30ms;}                  {  .backend            =  proxy4;  }}  backend  proxy4_test_a_example_jp  {   sub  vcl_error{      .host  =  "10.2.1.27";                  if  (obj.status  ==  304)  {      .port  =  "8803";                                  return(deliver);}}      .connect_timeout  =  30ms;}   sub  vcl_fetch{  backend  proxy4  {                  unset  beresp.http.X-­‐Cache;      .host  =  "10.2.1.27";                  unset  beresp.http.X-­‐Cache-­‐Lookup;      .port  =  "80";                  unset  beresp.http.Via;      .connect_timeout  =  30ms;}                  unset  beresp.http.Server;}      
  14. 14. Config:  puppet  "   $bport  =  [8801,8802,8803]  "   $baccel  =  ["test-­‐a-­‐origin.example.jp",   "testk.example.jp",  "test-­‐a.example.jp”]  "   $borigin  =  ["test-­‐a-­‐origin.example.jp",   "testk.example.jp",  "test-­‐a.example.jp”]  "   $siblings  =  ["10.2.1.26",  "10.2.1.27"]  "   $siblings_hosts  =  ["proxy5",  "proxy4"]  
  15. 15. Puppet!  "    "   Cache Expire  "    "   Varnish 3  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×