Towards Real-Time banking API's: Introducing Coral, a web api for realtime streaming computing
-
Upload
natalino-busa -
Category
Internet
-
view
382 -
download
0
Transcript of Towards Real-Time banking API's: Introducing Coral, a web api for realtime streaming computing
Coral: a Web API for Real-Time Streaming Computing
@natalinobusa | linkedin.com/in/natalinobusa
Towards Real-Time Banking APIs
Distributed computing Machine Learning
Statistics Big/Fast Data Streaming Computing
@natalinobusa | linkedin.com/in/natalinobusa
Why Streaming Processing?
1. Relevant up-to-date information.2. Delivers actionable events.
@natalinobusa | linkedin.com/in/natalinobusa
"Pedalboard (995939579)-2" by Pedalboard_(995939579).jpg: Michael Morel from Barcelona, Spainderivative work: Atlantictire (talk) - Pedalboard_(995939579).jpg. Licensed under Creative Commons Attribution 2.0 via Wikimedia Commons -
It’s all about the right “sound”
@natalinobusa | linkedin.com/in/natalinobusa
Read from Twitter stream
SentimentAnalytics
Push recommendations
It’s all about the right “sound”
@natalinobusa | linkedin.com/in/natalinobusa
Two sort of resources:- devices - waves
resource type #1: Actors
Trigger Emit
Params
State
POST http://coral/api/actors
{ "type":"stats", "params":{ "field": "amount" }, "group":{ "by":"tag" }}
@natalinobusa | linkedin.com/in/natalinobusa
resource type #1: Actors
Trigger Emit
Params
State
GET http://coral/api/actors/23
{ "actors": { "def": { "type": "stats", "params": { "field": "amount" } }, "state": { "count": 134, "avg": 39.84, "min": 1.99, "max": 204.19, "sd": 38.01 } }}
@natalinobusa | linkedin.com/in/natalinobusa
REST API:
dynamically compose your data-flow processing
@natalinobusa | linkedin.com/in/natalinobusa
resource type #2: Data quants/events
Data events data resources:
● RESTful● Ephemeral● Form Free● Json
@natalinobusa | linkedin.com/in/natalinobusa
resource type #2: Data quants/events
Data events
POST http://coral/api/actors/23/in
{ "amount":23.45, "user": 76232, "city": "Berlin"}
@natalinobusa | linkedin.com/in/natalinobusa
resource type #2: Data quants/events
Data events
POST http://coral/api/actors/23/in
The “in” endpoint describes not the single events but the stream as a ever-changing RESTful resource.
@natalinobusa | linkedin.com/in/natalinobusa
How do RESTful Actors produce and consume data?
@natalinobusa | linkedin.com/in/natalinobusa
Actor can connect as a
● Client● Server
How do RESTful Actors produce and consume data?
Actor can communicate as
● http req/resp● (long) polling● Server Sent Events● Web Sockets
@natalinobusa | linkedin.com/in/natalinobusa
Some examples:
API: REST serverActor: REST client
APIOld Skool
polling
@natalinobusa | linkedin.com/in/natalinobusa
How to get streaming? Some examples:
API: REST serverActor: REST client
API
API: SSE Streaming ServerActor: Streaming client
API
Old Skool
polling
Streaming
Server-Sent-Events
@natalinobusa | linkedin.com/in/natalinobusa
Some examples:
API: REST serverActor: REST client
API
Client Client: Http clientActor: REST server
API: SSE Streaming ServerActor: Streaming client
API
Old Skool
polling
Streaming
Server-Sent-Events
IoT scenario’s
@natalinobusa | linkedin.com/in/natalinobusa
10 yrs 5 yrs 1 yr 1 month 1 day 1hour 1m
time
po
pu
lati
on
: eve
nts
, tra
nsa
ctio
ns,
se
ssio
ns,
cu
sto
mer
s, e
tc
Customer Journey Analytics
Recent datastreaming analytics
historical big data
Positioning Streaming and Real-Time
@natalinobusa | linkedin.com/in/natalinobusa
Stre
amin
g an
d
Reat-T
ime
Some words about the architecture:
@natalinobusa | linkedin.com/in/natalinobusa
Why stop at http? Enable Kafka, and datastores connections too ...
The Coral model is a hybrid streaming/batch architecture:
● in process computing (akka)● in memory state persistence (cassandra)● in memory analytics (spark)
Some words about the architecture:
@natalinobusa | linkedin.com/in/natalinobusa
The Product: Coral
● a web api to define/manage/run streaming data-flows● configuration over programming● open source and community managed● it's event processing as a service!
@natalinobusa | linkedin.com/in/natalinobusa
Star us on github!
@natalinobusa | linkedin.com/in/natalinobusa
https://github.com/coral-streaming