{"id":14,"date":"2010-10-26T15:57:35","date_gmt":"2010-10-26T15:57:35","guid":{"rendered":"https:\/\/debane.org\/franck\/?p=14"},"modified":"2012-10-04T10:09:00","modified_gmt":"2012-10-04T10:09:00","slug":"scalability-best-practices-lessons-from-randy-shoup-ebay","status":"publish","type":"post","link":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/","title":{"rendered":"Scalability Best Practices: Lessons from Randy Shoup @eBay"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg\" alt=\"How to handle the load ?\" title=\"scalability\" width=\"425\" height=\"328\" class=\"size-full wp-image-243\"><\/p>\n<p>You will find <a href=\"http:\/\/www.infoq.com\/articles\/ebay-scalability-best-practices\">this list<\/a> interesting if you are involved in designing and building large scale web applications. It\u2019s the <a href=\"http:\/\/www.infoq.com\/articles\/ebay-scalability-best-practices\">scalability best practices<\/a>, written by <a href=\"http:\/\/www.google.com\/images?q=Randy+Shoup&amp;tbs=isch:1,itp:face\">Randy Shoup<\/a> from eBay. Each practices is well explained with examples. Here are my favorites:<\/p>\n<ul>\n<li><strong>Best Practice #2: Split Horizontally<\/strong><\/li>\n<li><strong>Best Practice #3: Avoid Distributed Transactions<\/strong> \u2013 this is the biggest lesson I have learned at Inktomi \u2013 the article also references Eric Brewer\u2019s CAP theorem, which states that of three highly desirable properties of distributed systems \u2013 consistency (C), availability (A), and partition-tolerance (P) \u2013 you can only choose two at any one time.<\/li>\n<li><strong>Best Practice #5: Move Processing To Asynchronous Flows<\/strong><\/li>\n<li><strong>Best Practice #7: Cache Appropriately<\/strong> \u2013 interesting here to see how eBay uses caching, and how Randy boils it down to a constant trade-off.<\/li>\n<\/ul>\n<p>I was happy and comforted see that those are in-line with the approach of scalability I have. I hope you enjoy the reading as well: <a href=\"http:\/\/www.infoq.com\/articles\/ebay-scalability-best-practices\">Scalability Best Practices: Lessons from eBay<\/a><\/p>\n<p>Thanks to <a href=\"http:\/\/www.crunchbase.com\/person\/arnaud-mauvais-3\">Arnaud Mauvais<\/a> for the <a href=\"http:\/\/www.infoq.com\/articles\/ebay-scalability-best-practices\">link<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You will find this list interesting if you are involved in designing and building large scale web applications. It\u2019s the scalability best practices, written by &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-knowledge"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution\" \/>\n<meta property=\"og:description\" content=\"You will find this list interesting if you are involved in designing and building large scale web applications. It\u2019s the scalability best practices, written by &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Evolution\" \/>\n<meta property=\"article:published_time\" content=\"2010-10-26T15:57:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-04T10:09:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg\" \/>\n<meta name=\"author\" content=\"Franck\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Franck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/\",\"url\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/\",\"name\":\"Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution\",\"isPartOf\":{\"@id\":\"https:\/\/debane.org\/franck\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg\",\"datePublished\":\"2010-10-26T15:57:35+00:00\",\"dateModified\":\"2012-10-04T10:09:00+00:00\",\"author\":{\"@id\":\"https:\/\/debane.org\/franck\/#\/schema\/person\/5a14cc5ea46a35beff4a3bc64068b791\"},\"breadcrumb\":{\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage\",\"url\":\"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg\",\"contentUrl\":\"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/debane.org\/franck\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scalability Best Practices: Lessons from Randy Shoup @eBay\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/debane.org\/franck\/#website\",\"url\":\"https:\/\/debane.org\/franck\/\",\"name\":\"Digital Evolution\",\"description\":\"Notes from Franck Debane\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/debane.org\/franck\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/debane.org\/franck\/#\/schema\/person\/5a14cc5ea46a35beff4a3bc64068b791\",\"name\":\"Franck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/debane.org\/franck\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3c83110ba8806a2bdc3c2e42b7481a73540852cfe4417a873aed3470c7a9c87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3c83110ba8806a2bdc3c2e42b7481a73540852cfe4417a873aed3470c7a9c87?s=96&d=mm&r=g\",\"caption\":\"Franck\"},\"url\":\"https:\/\/debane.org\/franck\/author\/franck\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/","og_locale":"en_US","og_type":"article","og_title":"Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution","og_description":"You will find this list interesting if you are involved in designing and building large scale web applications. It\u2019s the scalability best practices, written by &hellip;","og_url":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/","og_site_name":"Digital Evolution","article_published_time":"2010-10-26T15:57:35+00:00","article_modified_time":"2012-10-04T10:09:00+00:00","og_image":[{"url":"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg","type":"","width":"","height":""}],"author":"Franck","twitter_misc":{"Written by":"Franck","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/","url":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/","name":"Scalability Best Practices: Lessons from Randy Shoup @eBay - Digital Evolution","isPartOf":{"@id":"https:\/\/debane.org\/franck\/#website"},"primaryImageOfPage":{"@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage"},"image":{"@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage"},"thumbnailUrl":"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg","datePublished":"2010-10-26T15:57:35+00:00","dateModified":"2012-10-04T10:09:00+00:00","author":{"@id":"https:\/\/debane.org\/franck\/#\/schema\/person\/5a14cc5ea46a35beff4a3bc64068b791"},"breadcrumb":{"@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#primaryimage","url":"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg","contentUrl":"https:\/\/debane.org\/franck\/wp-content\/uploads\/2010\/09\/scalability.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/debane.org\/franck\/scalability-best-practices-lessons-from-randy-shoup-ebay\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/debane.org\/franck\/"},{"@type":"ListItem","position":2,"name":"Scalability Best Practices: Lessons from Randy Shoup @eBay"}]},{"@type":"WebSite","@id":"https:\/\/debane.org\/franck\/#website","url":"https:\/\/debane.org\/franck\/","name":"Digital Evolution","description":"Notes from Franck Debane","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/debane.org\/franck\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/debane.org\/franck\/#\/schema\/person\/5a14cc5ea46a35beff4a3bc64068b791","name":"Franck","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/debane.org\/franck\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3c83110ba8806a2bdc3c2e42b7481a73540852cfe4417a873aed3470c7a9c87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3c83110ba8806a2bdc3c2e42b7481a73540852cfe4417a873aed3470c7a9c87?s=96&d=mm&r=g","caption":"Franck"},"url":"https:\/\/debane.org\/franck\/author\/franck\/"}]}},"_links":{"self":[{"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":5,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":94,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/posts\/14\/revisions\/94"}],"wp:attachment":[{"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/debane.org\/franck\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}