SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Life on the Edge with ESI
    Kit Chan (kichan@yahoo-inc.com)
      Custom Branded Experiences
                  Yahoo!
World Cup Penalty Shootout
Royal Wedding
Cybergeddon
Life on the Edge




                   Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Edge Computing/CDN   Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
Edge Computing in Yahoo!
 User Location Latency - 100K file in US Through Y! Edge
 California, USA 0.2s                  0.02s
 Singapore      2s                     0.02s
 Korea          1.3s                   0.02s
 Ireland        1.2s                   0.2s
 Switzerland    1.0s                   0.2s

 - Pages: avg 120K req/s, 16% cache ratio
 - Assets: avg 20Gb/s, 95% cache ratio
Edge Computing in Yahoo!
 User Location Latency - 100K file in US Through Y! Edge
 California, USA 0.2s                  0.02s
 Singapore      2s                     0.02s
 Korea          1.3s                   0.02s
 Ireland        1.2s                   0.2s
 Switzerland    1.0s                   0.2s

 - Pages: avg 120K req/s, 16% cache ratio
 - Assets: avg 20Gb/s, 95% cache ratio
ESI can help!
ESI Support in Proxy Server – Proven & Popular
ESI Support in Proxy Software – New or Unproven
ESI Support in CDN Vendor
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Use Case 1 - Content Assembly
 Markup in Response
<esi:include src=http://xyz.com/content.html/>
Content Assembly – Error Handling
 Can handle response error and timeout
<esi:try><esi:attempt>
  <esi:include src=http://xyz.com/content.html/ >
</esi:attempt><esi:except>
  Sorry there is an error!
</esi:except></esi:try>
Content Assembly
Content Assembly
Content Assembly
Content Assembly
Why? Performance!
                    No server cache +     Server cache + No    YTS Cache + ESI
                    No ESI                ESI                  modules
                    Origin Server         Origin Server        Origin Server only
Scenario            Handling Full Page    handling full page   serving requests for
                    requests each time    requests, only       non cacheable
                    and executing every   executing non        modules
                    module every time.    cacheable modules
FE throughput per   45 queries per     140 queries per         190 queries per
box                 second             second                  second
Server latency      900 ms per request 80 ms per page          55 ms per page
More on Availability
 Why it goes down?
  - Releases
  - Outage
 How ESI Help?
  - Template cached
  - Fallback for each ESI module
Why? Legacy Module Support
Use Case 2 - Automatic Fallback
  Always On - 100% availability for existing pages
 Serve static pages when origin servers are down or
  too slow
 No change needed on origin servers
Automatic Fallback




                     26
Automatic Fallback
Automatic Fallback
Automatic Fallback
Automatic Fallback – Subsequent Request
Automatic Fallback – Subsequent Request
Automatic Fallback – Subsequent Request
Use Case 3 - Timely Launch
Before Launch
After Launch
Timely Launch – Before Launch




                                Confidential	

   36
Timely Launch – Before Launch
Timely Launch – After Launch
Timely Launch – After Launch
Conclusion - Usage Pattern
                                    ESI Service



                   Proxy Server/
      Client           CDN

                                    Origin Server
                                   for ESI Include
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Concurrent Requests
First Byte Flush
ESI Support in Varnish
 No concurrent requests for includes
 First Byte Flush Support
ESI Support in Apache Traffic Server
 Concurrent requests for includes
 No First Byte Flush Support (Coming soon)
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Future
 The spec (ESI 1.0) is published over 10 years ago.
  - W3C spec
  - Editor - Mark Nottingham from Akamai




                                           Mark Nottingham	

                                           http://www.mnot.net/
Future – Manipulating Requests/Responses
                                           Origin Server
                                           returing ESI
                                            Document
                   Proxy Server
      Client        Supporting
                       ESI
                                            Origin Server
                                           for ESI Include
Future – Manipulating Requests/Responses
                                           Origin Server
                                           returing ESI
                                            Document
                           Proxy Server
      Client                Supporting
                               ESI
                                            Origin Server
                                           for ESI Include
      Final response
      header to user can
      be changed
Future – Manipulating Requests/Responses
  Request Header,
  method, timeout can                        Origin Server
  be changed for                             returing ESI
  includes 	

                                              Document
                              Proxy Server
          Client               Supporting
                                  ESI
                                              Origin Server
                                             for ESI Include
         Final response
         header to user can
         be changed
Future – Manipulating Requests/Responses
  Request Header,
  method, timeout can                                   Origin Server
  be changed for                                        returing ESI
  includes 	

                                                         Document
                                 Proxy Server
          Client                  Supporting
                                     ESI
                                                         Origin Server
                                                        for ESI Include
         Final response
         header to user can   Request/Response
         be changed	

        Header can be retrieved
                              as variables
Future – Smart Assembly



                          One request for multiple
                          includes (e.g. one Ad call
                          fetching multiple ad position)
Future – More Use cases
 Device Detection
 Bucket Testing




 https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg	

   http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
Agenda
  Introduction
  Use Cases
  Performance Characteristics
  Future
  Q&A
Q&A




             谢谢
      kichan@yahoo-inc.com
Reference
  ESI Language Specification – http://www.w3.org/TR/esi-lang
  Edge Architecture Specification - http://www.w3.org/TR/edge-arch
  ATS ESI plugin -
   https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README
  Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html
  Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf
  F5 -
   http://support.f5.com/kb/en-us/products/wa/manuals/product/wa9_4policy/
   WA_Policy_9_4-19-1.html

Mais conteúdo relacionado

Mais procurados

Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
Rohit Kelapure
 

Mais procurados (8)

Leverage Azure and SQL Azure to build SaaS applications
Leverage Azure and SQL Azure to build SaaS applications Leverage Azure and SQL Azure to build SaaS applications
Leverage Azure and SQL Azure to build SaaS applications
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
 
40020
4002040020
40020
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
If You Know JSF, You Know Portals and Portlets
If You Know JSF, You Know Portals and PortletsIf You Know JSF, You Know Portals and Portlets
If You Know JSF, You Know Portals and Portlets
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
 
Share Point Administrator Course Content
Share Point Administrator Course ContentShare Point Administrator Course Content
Share Point Administrator Course Content
 

Semelhante a Velocity china2012kit life on edge —— 如何使用 esi 完成任务

Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Michael Noel
 

Semelhante a Velocity china2012kit life on edge —— 如何使用 esi 完成任务 (20)

Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
 
Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
Oracle on AWS partner webinar series
Oracle on AWS partner webinar series Oracle on AWS partner webinar series
Oracle on AWS partner webinar series
 
Jsp Comparison
 Jsp Comparison Jsp Comparison
Jsp Comparison
 
Virtual Classroom
Virtual ClassroomVirtual Classroom
Virtual Classroom
 
Next gen tech from QuickXpert Infotech
Next gen tech   from QuickXpert InfotechNext gen tech   from QuickXpert Infotech
Next gen tech from QuickXpert Infotech
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EECON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
 
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
Ultimate SharePoint Infrastructure Best Practices Session - Live360 Orlando 2012
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
Bca1931 final
Bca1931 finalBca1931 final
Bca1931 final
 
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
 
Indeed Flex: The Story of a Revolutionary Recruitment Platform
Indeed Flex: The Story of a Revolutionary Recruitment PlatformIndeed Flex: The Story of a Revolutionary Recruitment Platform
Indeed Flex: The Story of a Revolutionary Recruitment Platform
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
ASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOMASP, ASP.NET, JSP, COM/DCOM
ASP, ASP.NET, JSP, COM/DCOM
 

Mais de Michael Zhang

2014 GITC 帶上數據去創業 talkingdata—高铎
 2014 GITC 帶上數據去創業 talkingdata—高铎 2014 GITC 帶上數據去創業 talkingdata—高铎
2014 GITC 帶上數據去創業 talkingdata—高铎
Michael Zhang
 
Cuda 6 performance_report
Cuda 6 performance_reportCuda 6 performance_report
Cuda 6 performance_report
Michael Zhang
 
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Michael Zhang
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Michael Zhang
 
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Michael Zhang
 
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
Michael Zhang
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Michael Zhang
 
Q con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodologyQ con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodology
Michael Zhang
 

Mais de Michael Zhang (20)

廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐廣告系統在Docker/Mesos上的可靠性實踐
廣告系統在Docker/Mesos上的可靠性實踐
 
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier ArchitectureHKIX Upgrade to 100Gbps-Based Two-Tier Architecture
HKIX Upgrade to 100Gbps-Based Two-Tier Architecture
 
2014 GITC 帶上數據去創業 talkingdata—高铎
 2014 GITC 帶上數據去創業 talkingdata—高铎 2014 GITC 帶上數據去創業 talkingdata—高铎
2014 GITC 帶上數據去創業 talkingdata—高铎
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
 
Spark sql meetup
Spark sql meetupSpark sql meetup
Spark sql meetup
 
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
2014 Hpocon 李志刚   1号店 - puppet在1号店的实践2014 Hpocon 李志刚   1号店 - puppet在1号店的实践
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
 
2014 Hpocon 姚仁捷 唯品会 - data driven ops
2014 Hpocon 姚仁捷   唯品会 - data driven ops2014 Hpocon 姚仁捷   唯品会 - data driven ops
2014 Hpocon 姚仁捷 唯品会 - data driven ops
 
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用2014 Hpocon 高驰涛   云智慧 - apm在高性能架构中的应用
2014 Hpocon 高驰涛 云智慧 - apm在高性能架构中的应用
 
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
 
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性2014 Hpocon 吴磊   ucloud - 由点到面 提升公有云服务可用性
2014 Hpocon 吴磊 ucloud - 由点到面 提升公有云服务可用性
 
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试2014 Hpocon 周辉   大众点评 - 大众点评混合开发模式下的加速尝试
2014 Hpocon 周辉 大众点评 - 大众点评混合开发模式下的加速尝试
 
Cuda 6 performance_report
Cuda 6 performance_reportCuda 6 performance_report
Cuda 6 performance_report
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.Hadoop Hardware @Twitter: Size does matter.
Hadoop Hardware @Twitter: Size does matter.
 
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
Q con shanghai2013-[ben lavender]-[long-distance relationships with robots]
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
 
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
Q con shanghai2013-[韩军]-[超大型电商系统架构解密]
 
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
Q con shanghai2013-[jains krums]-[real-time-delivery-archiecture]
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
 
Q con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodologyQ con shanghai2013-罗婷-performance methodology
Q con shanghai2013-罗婷-performance methodology
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Velocity china2012kit life on edge —— 如何使用 esi 完成任务

  • 1. Life on the Edge with ESI Kit Chan (kichan@yahoo-inc.com) Custom Branded Experiences Yahoo!
  • 2. World Cup Penalty Shootout
  • 5. Life on the Edge Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
  • 6. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 7. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 8. Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
  • 9. Edge Computing in Yahoo! User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio
  • 10. Edge Computing in Yahoo! User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s - Pages: avg 120K req/s, 16% cache ratio - Assets: avg 20Gb/s, 95% cache ratio
  • 12. ESI Support in Proxy Server – Proven & Popular
  • 13. ESI Support in Proxy Software – New or Unproven
  • 14. ESI Support in CDN Vendor
  • 15. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 16. Use Case 1 - Content Assembly  Markup in Response <esi:include src=http://xyz.com/content.html/>
  • 17. Content Assembly – Error Handling  Can handle response error and timeout <esi:try><esi:attempt> <esi:include src=http://xyz.com/content.html/ > </esi:attempt><esi:except> Sorry there is an error! </esi:except></esi:try>
  • 22. Why? Performance! No server cache + Server cache + No YTS Cache + ESI No ESI ESI modules Origin Server Origin Server Origin Server only Scenario Handling Full Page handling full page serving requests for requests each time requests, only non cacheable and executing every executing non modules module every time. cacheable modules FE throughput per 45 queries per 140 queries per 190 queries per box second second second Server latency 900 ms per request 80 ms per page 55 ms per page
  • 23. More on Availability  Why it goes down? - Releases - Outage  How ESI Help? - Template cached - Fallback for each ESI module
  • 25. Use Case 2 - Automatic Fallback   Always On - 100% availability for existing pages  Serve static pages when origin servers are down or too slow  No change needed on origin servers
  • 30. Automatic Fallback – Subsequent Request
  • 31. Automatic Fallback – Subsequent Request
  • 32. Automatic Fallback – Subsequent Request
  • 33. Use Case 3 - Timely Launch
  • 36. Timely Launch – Before Launch Confidential 36
  • 37. Timely Launch – Before Launch
  • 38. Timely Launch – After Launch
  • 39. Timely Launch – After Launch
  • 40. Conclusion - Usage Pattern ESI Service Proxy Server/ Client CDN Origin Server for ESI Include
  • 41. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 44. ESI Support in Varnish  No concurrent requests for includes  First Byte Flush Support
  • 45. ESI Support in Apache Traffic Server  Concurrent requests for includes  No First Byte Flush Support (Coming soon)
  • 46. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 47. Future  The spec (ESI 1.0) is published over 10 years ago. - W3C spec - Editor - Mark Nottingham from Akamai Mark Nottingham http://www.mnot.net/
  • 48. Future – Manipulating Requests/Responses Origin Server returing ESI Document Proxy Server Client Supporting ESI Origin Server for ESI Include
  • 49. Future – Manipulating Requests/Responses Origin Server returing ESI Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can be changed
  • 50. Future – Manipulating Requests/Responses Request Header, method, timeout can Origin Server be changed for returing ESI includes Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can be changed
  • 51. Future – Manipulating Requests/Responses Request Header, method, timeout can Origin Server be changed for returing ESI includes Document Proxy Server Client Supporting ESI Origin Server for ESI Include Final response header to user can Request/Response be changed Header can be retrieved as variables
  • 52. Future – Smart Assembly One request for multiple includes (e.g. one Ad call fetching multiple ad position)
  • 53. Future – More Use cases  Device Detection  Bucket Testing https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
  • 54. Agenda   Introduction   Use Cases   Performance Characteristics   Future   Q&A
  • 55. Q&A 谢谢 kichan@yahoo-inc.com
  • 56. Reference   ESI Language Specification – http://www.w3.org/TR/esi-lang   Edge Architecture Specification - http://www.w3.org/TR/edge-arch   ATS ESI plugin - https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README   Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html   Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf   F5 - http://support.f5.com/kb/en-us/products/wa/manuals/product/wa9_4policy/ WA_Policy_9_4-19-1.html