SlideShare une entreprise Scribd logo
1  sur  146
Télécharger pour lire hors ligne
How to Get a Job 35 Million Times a Day
Using RabbitMQ
Ketan Gangatirkar and Cameron Davison
One search. All jobs.
Aggregation gets jobs
Aggregation gets jobs so
Jobseekers get jobs
Aggregation != Spidering
Spiders see pages.
Aggregation sees jobs.
How spiders see job sites
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
Page
How Indeed sees job sites
Start
Job List
Job Job Job
Job List
Job Job Job
Job List
Job Job Job
Navigation Navigation
Job
Job
Job
Aggregation != Spidering
Job sites have structure
Job pages have semantics
Navigation is more than following links
Remember
this
Agg
every
job
{
Url: http://www.applytracking.com/track.aspx/3VYzR
Title: Senior Erlang Engineer
Company: Machine Zone
Location: Palo Alto,CA,US, 94301
Source Type: Employer
Job Type: Full-time
...
Description: The Senior Erlang Engineer is an integral ...
...
Createdate: 2013-02-05 23:18:05
...
}
What's in a job
location
description
Company
Title
Title
salary
location
job type
description
Company
How we build products
simple
fast
comprehensive
relevant
Simple
Tough problems, simple solutions
Fast
Discover the jobs quickly
Get them to jobseekers in minutes
10% of jobseekers sort by date
Do you want only new jobs?
20% of jobseekers want only new jobs
Daily new job emails
Speed matters
Comprehensive
Get every job
Relevant
Semantic extraction
The job is still available
Ignore non-jobs
This is a hard problem
Flaky sites
Site redesigns
Javascript
Missing or bad information
Big N makes it even harder
Examine 38M jobs every day
Do this in minutes
Search
100M
Jobseekers
Aggregation
Employers
Job Boards
Staffing firms
Recruiters
Strawman* architecture
Datacenter B
MySQL
Engine
Datacenter A
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Primary
Datacenter
Limitations
N connections
MySQL
Job siteJob siteJob siteJob siteJob siteJob site
Primary
Datacenter
EngineEngineEngineEngineEngineEngine
Datacenter BDatacenter A
N concurrent writers
MySQL
Job siteJob siteJob siteJob siteJob siteJob site
Primary
Datacenter
EngineEngineEngineEngineEngineEngine
Datacenter BDatacenter A
High latency
MySQL
Job siteJob siteJob siteJob siteJob siteJob site
Primary
Datacenter
EngineEngineEngineEngineEngineEngine
Datacenter BDatacenter A
Limitation: failure points
Datacenter B
MySQL
Engine
Datacenter A
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Engine
Job site
Primary
Datacenter
X
X
Scaling Patterns
What has worked for us so far?
Service-Oriented Architecture
Engine
Engine
Engine
Job Write
Service MySQL
Remote
Datacenter
Primary
Datacenter
see http://go.indeed.com/boxcar
Standard Service Interaction
Client Service Database
Our Interaction
Client Service Database
Does this do what we need?
● Lots of workers...
● Sending lots of results...
● Over a long distance...
● That need to get processed fast...
● Reliably?
Engine Failure
Engine
Engine
Engine
Job Write
Service MySQL
Remote
Datacenter
X
Primary
Datacenter
Engine failure fix:
Buffer to disk
Engine
Engine
Engine
Job Write
Service MySQL
Remote
Datacenter
disk
disk
disk
Primary
Datacenter
X
Network Failure
Engine
Engine
Engine
Job Write
Service MySQL
Remote
Datacenter
X
Primary
Datacenter
Network failure fix:
Disks solve that too
Engine
Engine
Engine
Job Write
Service MySQL
Remote
Datacenter
disk
disk
disk
X
Primary
Datacenter
Write Service Failure
Job Write
Service MySQL
Remote
Datacenter
X
Engine
Engine
Engine
Primary
Datacenter
Write Service Failure fix:
Disks solve that too
Job Write
Service MySQL
Remote
Datacenter
X
Engine
Engine
Engine
Primary
Datacenter
disk
disk
disk
Write Service Failure fix:
Redundancy
Job Write
Service
MySQL
Remote
Datacenter
Primary
Datacenter
X
Engine
Engine
Engine
Job Write
Service
Job Write
Service
Database Failure
Job Write
Service MySQL
Remote
Datacenter
X
Engine
Engine
Engine
Primary
Datacenter
Database Failure fix:
Buffer to disk
Job Write
Service
MySQL
Remote
Datacenter
X
Engine
Engine
Engine
disk
Primary
Datacenter
Our new architecture
Job Write
Service
MySQL
Remote
Datacenter
Primary
Datacenter
Engine
Engine
Engine
disk
disk
disk
Job Write
Service
Job Write
Service
disk
disk
disk
We could build this...
Job Write
Service
MySQL
Remote
Datacenter
Primary
Datacenter
Engine
Engine
Engine
disk
disk
disk
Job Write
Service
Job Write
Service
disk
disk
disk
... maybe someone already has
Job Write
Service
MySQL
Remote
Datacenter
Primary
Datacenter
Engine
Engine
Engine
disk
disk
disk
Job Write
Service
Job Write
Service
disk
disk
disk
We should use a message queue
Cameron Davison
Aggregation Requirements
● Durable
● Multi-Data Center (latency)
● 38 million jobs a day
● 2KB average job size
○ 76 GB a day
● Target peaks of 1000 jobs / second
● Programming language agnostic
Selection
What we found
High Availability
Open Source/Free
Self-hosted
Performant
Out-of-the-box Experience
Advanced Message Queuing
Protocol (AMQP)
● Open Standard
● Wire protocol
● Existing Clients in Multiple Languages
Concepts
● Confirmation and Ack
● At least once
● Asynchronous Confirms
● Persistent
● Clustering
Confirmation and Ack
MQ
Producer Consumer
m
sg
confirm
ack
m
sg
1
2 3
4
At least once
MQ
At most once
Consumer
Message
Ack
MQ
Consumer
Message
Auto Ack
Asynchronous Confirms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Producer
m
essages
confirm #6
Persistent
MQ
Producer Consumer
Persistent
MQ
Producer Consumer
Persistent
MQ
Producer Consumer
X
Persistent
MQ
Producer Consumer
Persistent
MQ
Producer Consumer
Clustering
SlaveMaster
Producer
1
2
3
4
Testing
Test RabbitMQ
● Send millions of 2KB messages
● 20 producers and 20 consumers
● 1000 messages / second
● Simulate multiple failures
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
Slave
Master
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
Master
Slave
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
Master
Slave
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
X
Master
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
X
Master
Test Consistency
Producers
Rabbit
MQ
Rabbit
MQ
Consumers
Master
Slave
RabbitMQ Clustering
Master Slave
RabbitMQ Clustering
Master Slave
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
MasterSlave
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
Master
XX
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
Master
X
RabbitMQ Clustering
Master Slave
Non-persistent
15990 Messages / Second
30 MB/s
Persistent
2781 Message / Second
5.5 MB/s
Clustered and Persistent
1262 Message / Second
2.5 MB/s
Applying RabbitMQ
Unreliable High Latency
Connections
Engine
Engine
Engine
Job Write
Service
Remote DC Primary DC
MySQL
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Remote DC Primary DC
MySQL
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Remote DC Primary DC
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Remote DC Primary DC
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Remote DC Primary DC
Rabbit
MQ
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Remote DC Primary DC
Rabbit
MQ
Rabbit can talk to Rabbit
Shovel Plugin
Producer RabbitMQ 1 ConsumerRabbitMQ 2
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Remote DC Primary DC
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Primary DC
Rabbit
MQ
Remote DC
Parallelize
Job Write Service
RabbitMQ
Job Write
Service
Job Write
Service
Job Write
Service
Job A
Job B
Job C
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Primary DC
Rabbit
MQ
Job Write
Service
Remote DC
Replaced with RabbitMQ
Engine
Engine
Engine
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Primary DC
Rabbit
MQ
Job Write
Service
Message Flow
Message Flow
Engine
Engine
Engine
Job Write
Service
Primary DC
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Message Flow
Engine
Engine
Engine
Job Write
Service
Primary DC
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Message Flow
Engine
Engine
Engine
Job Write
Service
Primary DC
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Message Flow
Engine
Engine
Engine
Job Write
Service
Primary DC
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Jobs/minute
Jobs/minute from one site
220,000 jobs
6 hours
611 jobs / minute
Jobs/minute from one site
251,000 jobs
20 minutes
12550 jobs / minute
Rabbit
MQ
Horizontal Scale
Engine
Engine
Engine Job Write
ServiceRabbit
MQ
Job Write
Service
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Rabbit
MQ
Job Write
Service
Job Write
Service
Horizontal Scale
Horizontal Scale
Today 1000 messages / second
RabbitMQ 3
2486 Message / Second
5MB/s
RabbitMQ Configuration
● Confirmations - Fire and Forget
● Persistent Messages - Durable
● Shoveling - Multi-Data Center
● Mirrored Queues in Cluster - High Reliability
Can we do more with RabbitMQ?
Aggregation Viewer
Real-time browser-based view of job stream
● Almost real-time
● Exclusive queue
● Transient messages
Aggregation Viewer Architecture
Agg Jobs
Rabbit MQ
Cluster
Agg Viewer
Rabbit MQ
Agg
Viewer
Shovel* SubscribeJobs HTTP Browser
Resume Contacts Billing
Pay-per-contact: limited budget
Resume Contacts Billing
Original Path
P
a
c
i
f
i
c
Asia DC US DC
Log repoResume Search
MySQL
see http://go.indeed.com/logrepo
Resume Contacts Billing
Fast Path
P
a
c
i
f
i
c
Asia DC US DC
Rabbit
MQ
MySQL
Log repo
Rabbit
MQ
Resume Search
X
Company Page Edits
User-contributed content about companies
Company Page
Company Page Edits
Implementation
Writing data AND reading it back
Company Page Edits
Single Datacenter
Browser
Web Server
MySQL
Company Page Serving
Browser
Web Server
LSM Tree
Asia Datacenter
Memcached
see http://go.indeed.com/lsmtree
P
a
c
i
f
i
c
Company Page Edits
Browser
Web Server
RabbitMQ RabbitMQ MySQL
Primary US
Datacenter
Asia Datacenter EU Datacenter
A
t
l
a
n
t
i
c
[Et cetera]
Memcached
P
a
c
i
f
i
c
Company Page Reads
MySQL
LSM Tree
Builder
LSM Tree
Primary US
Datacenter
Asia Datacenter
LSM Tree
EU Datacenter
A
t
l
a
n
t
i
c
[Et cetera]
Memcached
P
a
c
i
f
i
c
Company Pages System
Browser
Web Server
RabbitMQ RabbitMQ MySQL
LSM Tree
Builder
LSM Tree
Primary US
Datacenter
Asia Datacenter
LSM Tree
EU Datacenter
A
t
l
a
n
t
i
c
[Et cetera]
Other applications
Company Pages
Recap: The jobs must flow
● Durability
● High throughput
● Low latency
● Partition-tolerance
● Efficient use of the database
● Minimal points of failure

Contenu connexe

En vedette

Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffJAX London
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctorindeedeng
 
Trends in Student Perspectives: Key Insights to Understanding Gen X&Y
Trends in Student Perspectives: Key Insights to Understanding Gen X&YTrends in Student Perspectives: Key Insights to Understanding Gen X&Y
Trends in Student Perspectives: Key Insights to Understanding Gen X&YGil Rogers
 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScaleSalesforce Partners
 
Your 2017 Student Marketing Roadmap
Your 2017 Student Marketing RoadmapYour 2017 Student Marketing Roadmap
Your 2017 Student Marketing RoadmapGil Rogers
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureAlvaro Videla
 
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...indeedeng
 
Taste Rabbitmq
Taste RabbitmqTaste Rabbitmq
Taste Rabbitmqjeff kit
 
新浪微博开放平台Redis实战
新浪微博开放平台Redis实战新浪微博开放平台Redis实战
新浪微博开放平台Redis实战mysqlops
 
高性能No sql数据库redis
高性能No sql数据库redis高性能No sql数据库redis
高性能No sql数据库redispaitoubing
 
Retargeting Your Best Match: New Methods for Reaching Students in China
Retargeting Your Best Match: New Methods for Reaching Students in ChinaRetargeting Your Best Match: New Methods for Reaching Students in China
Retargeting Your Best Match: New Methods for Reaching Students in ChinaGil Rogers
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现iammutex
 
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsIntroduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsAlvaro Videla
 
A Technical Introduction to WiredTiger
A Technical Introduction to WiredTigerA Technical Introduction to WiredTiger
A Technical Introduction to WiredTigerMongoDB
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotepindeedeng
 

En vedette (17)

Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
 
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
[@IndeedEng] Managing Experiments and Behavior Dynamically with Proctor
 
Trends in Student Perspectives: Key Insights to Understanding Gen X&Y
Trends in Student Perspectives: Key Insights to Understanding Gen X&YTrends in Student Perspectives: Key Insights to Understanding Gen X&Y
Trends in Student Perspectives: Key Insights to Understanding Gen X&Y
 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to Scale
 
Your 2017 Student Marketing Roadmap
Your 2017 Student Marketing RoadmapYour 2017 Student Marketing Roadmap
Your 2017 Student Marketing Roadmap
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal Architecture
 
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
[@IndeedEng] Engineering Velocity: Building Great Software Through Fast Itera...
 
Taste Rabbitmq
Taste RabbitmqTaste Rabbitmq
Taste Rabbitmq
 
新浪微博开放平台Redis实战
新浪微博开放平台Redis实战新浪微博开放平台Redis实战
新浪微博开放平台Redis实战
 
高性能No sql数据库redis
高性能No sql数据库redis高性能No sql数据库redis
高性能No sql数据库redis
 
Retargeting Your Best Match: New Methods for Reaching Students in China
Retargeting Your Best Match: New Methods for Reaching Students in ChinaRetargeting Your Best Match: New Methods for Reaching Students in China
Retargeting Your Best Match: New Methods for Reaching Students in China
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
Redis介绍
Redis介绍Redis介绍
Redis介绍
 
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsIntroduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal Labs
 
RabbitMQ Messaging
RabbitMQ MessagingRabbitMQ Messaging
RabbitMQ Messaging
 
A Technical Introduction to WiredTiger
A Technical Introduction to WiredTigerA Technical Introduction to WiredTiger
A Technical Introduction to WiredTiger
 
[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep[@IndeedEng] Large scale interactive analytics with Imhotep
[@IndeedEng] Large scale interactive analytics with Imhotep
 

Plus de indeedeng

Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Drivenindeedeng
 
Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Workindeedeng
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...indeedeng
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...indeedeng
 
Improving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationImproving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationindeedeng
 
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision MakingData-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Makingindeedeng
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)indeedeng
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendationsindeedeng
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decodingindeedeng
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshopindeedeng
 
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...indeedeng
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Searchindeedeng
 

Plus de indeedeng (12)

Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-DrivenWeapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
Weapons of Math Instruction: Evolving from Data0-Driven to Science-Driven
 
Alchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That WorkAlchemy and Science: Choosing Metrics That Work
Alchemy and Science: Choosing Metrics That Work
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
 
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
Indeed Engineering and The Lead Developer Present: Tech Leadership and Manage...
 
Improving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentationImproving the development process with metrics driven insights presentation
Improving the development process with metrics driven insights presentation
 
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision MakingData-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
Data-Driven off a Cliff: Anti-Patterns in Evidence-Based Decision Making
 
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
Indeed My Jobs: A case study in ReactJS and Redux (Meetup talk March 2016)
 
Data Day Texas - Recommendations
Data Day Texas - RecommendationsData Day Texas - Recommendations
Data Day Texas - Recommendations
 
Vectorized VByte Decoding
Vectorized VByte DecodingVectorized VByte Decoding
Vectorized VByte Decoding
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop
 
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...@IndeedEng:  Tokens and Millicents - technical challenges in launching Indeed...
@IndeedEng: Tokens and Millicents - technical challenges in launching Indeed...
 
[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search[@IndeedEng] Building Indeed Resume Search
[@IndeedEng] Building Indeed Resume Search
 

Dernier

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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 MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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 productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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 Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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 2024Results
 
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 MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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 slidevu2urc
 

Dernier (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 

[@IndeedEng] How to Get a Job 35 Million Times a Day Using RabbitMQ