Submit Search
Upload
Finagle By Twitter Engineer @ Knoldus
•
3 likes
•
2,488 views
Knoldus Inc.
Follow
Introduction to Finagle
Read less
Read more
Software
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
Comunicação Bluetooth Entre Python e PyS60
Comunicação Bluetooth Entre Python e PyS60
Felipe Ronchi Brigido
cocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装から
Yuichi Higuchi
Oopsprc1c
Oopsprc1c
Ankit Dubey
oop Lecture 4
oop Lecture 4
Anwar Ul Haq
Solidity
Solidity
gavofyork
Matlab Area Calculation program
Matlab Area Calculation program
Tevfik AKKUŞ
To string
To string
Jbali Fatma
Short intro to the Rust language
Short intro to the Rust language
Gines Espada
Recommended
Comunicação Bluetooth Entre Python e PyS60
Comunicação Bluetooth Entre Python e PyS60
Felipe Ronchi Brigido
cocos2d 事例編 HungryMasterの実装から
cocos2d 事例編 HungryMasterの実装から
Yuichi Higuchi
Oopsprc1c
Oopsprc1c
Ankit Dubey
oop Lecture 4
oop Lecture 4
Anwar Ul Haq
Solidity
Solidity
gavofyork
Matlab Area Calculation program
Matlab Area Calculation program
Tevfik AKKUŞ
To string
To string
Jbali Fatma
Short intro to the Rust language
Short intro to the Rust language
Gines Espada
Go a crash course
Go a crash course
Eleanor McHugh
Oopsprc1e
Oopsprc1e
Ankit Dubey
Python Tidbits
Python Tidbits
Mitchell Vitez
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
Noise detection from the signal matlab code, Signal Diagnosis
Noise detection from the signal matlab code, Signal Diagnosis
Bharti Airtel Ltd.
Linked list int_data_fdata
Linked list int_data_fdata
Samsil Arefin
Encrypt all transports
Encrypt all transports
Eleanor McHugh
Vcs9
Vcs9
Malikireddy Bramhananda Reddy
Caropro
Caropro
daquicaro
Assignement c++
Assignement c++
Syed Umair
Implementing Software Machines in Go and C
Implementing Software Machines in Go and C
Eleanor McHugh
Doubly linklist
Doubly linklist
ilsamaryum
Card pack
Card pack
Bern Bilazon
Class array
Class array
nky92
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Alex Penso Romero
Currying in Swift
Currying in Swift
Maxim Zaks
C++ TUTORIAL 6
C++ TUTORIAL 6
Farhan Ab Rahman
Simpson and lagranje dalambair math methods
Simpson and lagranje dalambair math methods
kinan keshkeh
Ooprc4 b
Ooprc4 b
Ankit Dubey
dplyr
dplyr
Romain Francois
Small pieces loosely joined
Small pieces loosely joined
ennui2342
Go ahead, make my day
Go ahead, make my day
Tor Ivry
More Related Content
What's hot
Go a crash course
Go a crash course
Eleanor McHugh
Oopsprc1e
Oopsprc1e
Ankit Dubey
Python Tidbits
Python Tidbits
Mitchell Vitez
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
Noise detection from the signal matlab code, Signal Diagnosis
Noise detection from the signal matlab code, Signal Diagnosis
Bharti Airtel Ltd.
Linked list int_data_fdata
Linked list int_data_fdata
Samsil Arefin
Encrypt all transports
Encrypt all transports
Eleanor McHugh
Vcs9
Vcs9
Malikireddy Bramhananda Reddy
Caropro
Caropro
daquicaro
Assignement c++
Assignement c++
Syed Umair
Implementing Software Machines in Go and C
Implementing Software Machines in Go and C
Eleanor McHugh
Doubly linklist
Doubly linklist
ilsamaryum
Card pack
Card pack
Bern Bilazon
Class array
Class array
nky92
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Alex Penso Romero
Currying in Swift
Currying in Swift
Maxim Zaks
C++ TUTORIAL 6
C++ TUTORIAL 6
Farhan Ab Rahman
Simpson and lagranje dalambair math methods
Simpson and lagranje dalambair math methods
kinan keshkeh
Ooprc4 b
Ooprc4 b
Ankit Dubey
dplyr
dplyr
Romain Francois
What's hot
(20)
Go a crash course
Go a crash course
Oopsprc1e
Oopsprc1e
Python Tidbits
Python Tidbits
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
Noise detection from the signal matlab code, Signal Diagnosis
Noise detection from the signal matlab code, Signal Diagnosis
Linked list int_data_fdata
Linked list int_data_fdata
Encrypt all transports
Encrypt all transports
Vcs9
Vcs9
Caropro
Caropro
Assignement c++
Assignement c++
Implementing Software Machines in Go and C
Implementing Software Machines in Go and C
Doubly linklist
Doubly linklist
Card pack
Card pack
Class array
Class array
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Currying in Swift
Currying in Swift
C++ TUTORIAL 6
C++ TUTORIAL 6
Simpson and lagranje dalambair math methods
Simpson and lagranje dalambair math methods
Ooprc4 b
Ooprc4 b
dplyr
dplyr
Similar to Finagle By Twitter Engineer @ Knoldus
Small pieces loosely joined
Small pieces loosely joined
ennui2342
Go ahead, make my day
Go ahead, make my day
Tor Ivry
Next Generation Solutions with Neo4j
Next Generation Solutions with Neo4j
Neo4j
Kotlin Mullets
Kotlin Mullets
James Ward
Functional Systems @ Twitter
Functional Systems @ Twitter
C4Media
Arduino and the real time web
Arduino and the real time web
Andrew Fisher
Monads - Dublin Scala meetup
Monads - Dublin Scala meetup
Mikhail Girkin
Generics and Inference
Generics and Inference
Richard Fox
Introduction to Groovy
Introduction to Groovy
André Faria Gomes
Monolith to Reactive Microservices
Monolith to Reactive Microservices
Reactivesummit
Dynamic C++ ACCU 2013
Dynamic C++ ACCU 2013
aleks-f
Kotlin의 코루틴은 어떻게 동작하는가
Kotlin의 코루틴은 어떻게 동작하는가
Chang W. Doh
Big Data Analytics with Scala at SCALA.IO 2013
Big Data Analytics with Scala at SCALA.IO 2013
Samir Bessalah
Reactive programming every day
Reactive programming every day
Vadym Khondar
Kotlin Backend Development 6 Yrs Recap. The Good, the Bad and the Ugly
Kotlin Backend Development 6 Yrs Recap. The Good, the Bad and the Ugly
Haim Yadid
Intro to Python (High School) Unit #3
Intro to Python (High School) Unit #3
Jay Coskey
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
GeeksLab Odessa
Extending Flux to Support Other Databases and Data Stores | Adam Anthony | In...
Extending Flux to Support Other Databases and Data Stores | Adam Anthony | In...
InfluxData
Quest 1 define a class batsman with the following specifications
Quest 1 define a class batsman with the following specifications
rajkumari873
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Ruslan Shevchenko
Similar to Finagle By Twitter Engineer @ Knoldus
(20)
Small pieces loosely joined
Small pieces loosely joined
Go ahead, make my day
Go ahead, make my day
Next Generation Solutions with Neo4j
Next Generation Solutions with Neo4j
Kotlin Mullets
Kotlin Mullets
Functional Systems @ Twitter
Functional Systems @ Twitter
Arduino and the real time web
Arduino and the real time web
Monads - Dublin Scala meetup
Monads - Dublin Scala meetup
Generics and Inference
Generics and Inference
Introduction to Groovy
Introduction to Groovy
Monolith to Reactive Microservices
Monolith to Reactive Microservices
Dynamic C++ ACCU 2013
Dynamic C++ ACCU 2013
Kotlin의 코루틴은 어떻게 동작하는가
Kotlin의 코루틴은 어떻게 동작하는가
Big Data Analytics with Scala at SCALA.IO 2013
Big Data Analytics with Scala at SCALA.IO 2013
Reactive programming every day
Reactive programming every day
Kotlin Backend Development 6 Yrs Recap. The Good, the Bad and the Ugly
Kotlin Backend Development 6 Yrs Recap. The Good, the Bad and the Ugly
Intro to Python (High School) Unit #3
Intro to Python (High School) Unit #3
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
Java/Scala Lab: Анатолий Кметюк - Scala SubScript: Алгебра для реактивного пр...
Extending Flux to Support Other Databases and Data Stores | Adam Anthony | In...
Extending Flux to Support Other Databases and Data Stores | Adam Anthony | In...
Quest 1 define a class batsman with the following specifications
Quest 1 define a class batsman with the following specifications
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
Scala-Gopher: CSP-style programming techniques with idiomatic Scala.
More from Knoldus Inc.
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Knoldus Inc.
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
Knoldus Inc.
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
Knoldus Inc.
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
Knoldus Inc.
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
Knoldus Inc.
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
Knoldus Inc.
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
Knoldus Inc.
K8sGPTThe AI way to diagnose Kubernetes
K8sGPTThe AI way to diagnose Kubernetes
Knoldus Inc.
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptx
Knoldus Inc.
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
Knoldus Inc.
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
Knoldus Inc.
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
Knoldus Inc.
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
Knoldus Inc.
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
Knoldus Inc.
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
Knoldus Inc.
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
Knoldus Inc.
Introduction To Rust part II Presentation
Introduction To Rust part II Presentation
Knoldus Inc.
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Knoldus Inc.
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
Knoldus Inc.
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)
Knoldus Inc.
More from Knoldus Inc.
(20)
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
K8sGPTThe AI way to diagnose Kubernetes
K8sGPTThe AI way to diagnose Kubernetes
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptx
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
Introduction To Rust part II Presentation
Introduction To Rust part II Presentation
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)
Recently uploaded
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ThousandEyes
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
OnePlan Solutions
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
AxelRicardoTrocheRiq
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
MyIntelliSource, Inc.
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
BradBedford3
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
SolGuruz
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
ABDERRAOUF MEHENNI
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
Cionsystems
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
kalichargn70th171
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
harshavardhanraghave
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
kalichargn70th171
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
JheuzeDellosa
Recently uploaded
(20)
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
Finagle By Twitter Engineer @ Knoldus
1.
@ Introduction to
Finagle
2.
puneet@twitter.com Core Services
- Platform Engineering
3.
In the beginning
...
4.
5.
6.
7.
A brave new
world ... Typesafe Expressive Performant (thank you JVM) ...
8.
Futures
9.
Synchronous Futures def
piDigit ( n : Int ) : Int def piDigit ( n : Int ) : Future[Int] println ( piDigit ( 100 ) ) piDigit ( 100 ) onSuccess println
10.
Synchronous Futures
11.
Synchronous Futures def
piDigit ( n : Int ) : Int def piDigit ( n : Int ) : Future[Int] println ( piDigit ( 100 ) ) piDigit ( 100 ) onSuccess println println ( piDigit ( 100 ) * 10 ) ) piDigit ( 100 ) map { _ * 10 } onSuccess println println ( piDigit ( piDigit ( 100 ) ) ) piDigit ( 100 ) flatMap piDigit onSuccess println println ( ( 0 to 100 ) map piDigit ) Future.collect { ( 0 to 100 ) map piDigit } onSuccess println
12.
13.
the networking glue
... Address resolution TCP handshake Serialization => Deserialization
14.
: Request =>
Future [ Response ]
15.
trait UserService {
def getByUserId( userId : Long ) : Future [ User ] def getByScreenName( screenName: String ) : Future [ User ] } trait TweetService { def findByUserId( userId : Long ) : Future [ Seq[ Tweet ] ] }
16.
trait UserTweetService {
val userService : UserService val tweetService : TweetService def findUserAndTweets( userId : Long ) : Future [ ( User, Seq[Tweet] ) ] = Future.join ( userService.findByUserId( userId ), tweetService.findByUserId( userId ) ) } } 1 4 2 3 2 3
17.
trait ScreenNameTweetService {
val userService : UserService val tweetService : TweetService def findByScreenName( screenName: String ) : Future [ Seq[Tweet] ] = { userService.findByScreenName( screenName ) flatMap { user => tweetService.findByUserId( user.id ) } } } 1 6 2 3 4 5
18.
other benefits ...
19.
val someService =
Http.client(“inet!google.com:80”) val anotherService = Http.client( “zk!myzkhost.mycompany.com:2181!/my/zk/path” ) Address Resolution
20.
Source Load Balancing
vs
21.
Thanks! twitter.github.io/finagle @finagle
@pzdk
Download now