To support the world’s largest internet marketplace, eBay tackles technical challenges at a scale that few others have. With this blog, we share our experiences working on those challenges with the technical community.转到作者网站
Tips from eBay's Experimentation Science team on how you can best leverage A/B tests to measure the success and health of your product.
At eBay, we switched one of our monitoring tech stacks from legacy homegrown architecture to a Druid-based real-time monitoring system. In this article, we discuss how we transitioned our journey to a new stack and also the benefits it has to offer.
We're excited to announce the public release of Beam, a distributed knowledge graph store, under the Apache 2.0 open source license. Beam is the result of four person-years of exploration and engineering effort, so there's a lot to unpack here! This post will discuss what Beam is, how it's implemented, and why we've chosen to release it as open source.
Data Structures are the basic building blocks of software. In this article, one eBay engineer gives his perspective on how they might have evolved over time, enabling us to build complex things out of simpler parts.
Shutl has been running an initiative called Swapping Fridays. This involves software engineers and customer service agents swapping roles for a day. This article discusses how the initiative was run, the objectives and outcomes, and some challenges that were encountered along the way.
At eBay, nearly everything we do is based on data. We deal with structured, unstructured, and semi-structured data, where Hadoop, as a big data platform, has provided key technology features. Keeping pace with the speed of innovation while continuing to help data consumers easily find and consume the data they need guides to our architecture and investment in building out eBay’s Big Data Fabric.
In eBay’s Global Shipping team, we use end-to-end tests to detect problems on eBay’s platform introduced by new developments. When those tests are failing, it is hard to see what is going on. From an intra-team effort to improve our visibility, Failbot was born.
At eBay, each development team works with multiple distributed teams. To keep everyone on the same page with the different projects that they are working on, we built a tool called ShipShip to help keep information flowing.
One of the frequently asked questions from the new SRE engineers is: Where to begin when troubleshooting a problem in a cloud environment? I always tell them: You should begin with understanding the problem. Let me demonstrate the reasons and methods with a real troubleshooting case.
At eBay, we’re always looking for ways to truly localize for all of our international markets. Our design team has spent some time designing and experimenting with exciting new experiences and microinteractions for shoppers in China.
Generating relevant complementary item recommendations that drive conversion at eBay is a challenging problem. In this blog post, we describe some of these challenges, and how we incorporated several different signals, including behavior-based (co-purchase, co-view, co-search, popularity) and content-based (title text), to significantly enrich the number and quality of candidate recommendations. This can produce an improved user shopping experience, which can lead to increased transactions between eBay buyers and sellers, and an increase in the number of items bought, which is good for the eBay marketplace as a whole.
Most Java virtual machine out of memory issues happen on the heap, but this time proved to be a little different.
Incorporating knowledge graphs into recommender systems has attracted increasing attention in recent years. By exploring the interlinks within a knowledge graph, the connectivity between users and items can be discovered as paths, which provide rich and complementary information to user-item interactions. Such connectivity not only reveals the semantics of entities and relations, but also helps to comprehend a user’s interest. However, existing efforts have not fully explored this connectivity to infer user preferences, especially in terms of modeling the sequential dependencies within and holistic semantics of a path. We have developed a new model named Knowledge-aware Path Recurrent Network (KPRN) to exploit knowledge graphs for recommendation.
Interactive visual search with user feedback helps buyers find the perfect item and while enjoying the exploratory journey.
To make integrations with eBay RESTful APIs easier, eBay provides client libraries in C# and Java to make it simpler to set up authorization and reduce the amount of code application developers have to write to get OAuth Access Tokens.
By now most eBay core business flows have gone through the journey of implementing Experience Service-based multi-screen application solutions, where web and mobile native app user interfaces are composed of one or more modules, and Experience Services directly returns these modules to clients with content synthesized from backend data sources, localized and formatted, ready for render and user interaction. This article outlines a plan to move more modules to a shared environment.
Many big data systems collect petabytes of data on a daily basis. Such systems are often designed primarily to query raw data records for a given time range with multiple data filters. However, discovering or identifying unique attributes present in such large datasets can be difficult.
We present seven tips for visual search at scale, based on our KDD 2017 paper titled "Visual Search at eBay."
Availability and stability are very important for eBay's site, especially for those applications that take high traffic and are dependent on many other applications, such as CAL (our Centralized Application Logging framework). This blog shares an issue that happened recently that impacted the availability and stability of CAL, and how we found out the root cause using tcpdump and systemtap.