跟随,学习,进步

eBay

eBay Tech Blog

https://www.ebayinc.com/stories/blogs/tech/

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.

转到作者网站

Measuring Success with Experimentation

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.


Monitoring at eBay with Druid

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.


WebAssembly at eBay: A Real-World Use Case

From the time it was announced, WebAssembly caused a huge buzz in the front-end world. The web community readily embraced the idea of taking code written in programming languages other than JavaScript and running that code in the browser. Above all WebAssembly consistently guarantees native speeds much faster than JavaScript. At eBay, we were no different.


Beam: A Distributed Knowledge Graph Store

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.


Deriving Data Structures

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.


Swapping Fridays—Improving Customer Experience with Role Swapping

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.


How eBay Governs its Big Data Fabric

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.


Failbot—Improving Visibility on End-to-end Tests

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.


ShipShip—The Automated Kanban Board

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.


SRE Case Study: URL Distribution Issue Caused by Application

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.


How eBay Uses Microinteractions to Delight Customers

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.


Complementary Item Recommendations at eBay Scale

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.


SRE Case Study: Triaging a Non-Heap JVM Out of Memory Issue

Most Java virtual machine out of memory issues happen on the heap, but this time proved to be a little different.


Explainable Reasoning over Knowledge Graphs for Recommendation

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

Interactive visual search with user feedback helps buyers find the perfect item and while enjoying the exploratory journey.


eBay OAuth Client Library

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.


Sharing Modules Across Experience Services and Multi-Screen Applications

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.


Providing Metadata Discovery on Large-Volume Data Sets

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.


Seven Tips for Visual Search at Scale

We present seven tips for visual search at scale, based on our KDD 2017 paper titled "Visual Search at eBay."


Troubleshooting a Connection Timeout Issue with tcp_tw_recycle Enabled

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.