Automate your Kamailio Test Calls - Kamailio World 2024
JHipster conf 2019 - Kafka Ecosystem
1. 1
1
Apache Kafka and Jhipster !
Florent Ramière
TAM / System Engineer
florent@confluent.io
2. 2
Massive volumes of
new data generated
every day
Mobile Cloud Microservices Internet of
Things
Machine
Learning
Distributed across
apps, devices,
datacenters, clouds
Structured,
unstructured
polymorphic
What
4. 4
Silos explained by Data Gravity concept
As data accumulates (builds mass) there is a greater
likelihood that additional services and applications will
be attracted to this data.
This is the same effect gravity has on objects around a
planet. As the mass or density increases, so does the
strength of gravitational pull.
15. 15
Set up secure Kafka
& build your first app
Understand streaming
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Infrastructure & apps
across LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Self-service on shared
Kafka
Infrastructure &
applications across
LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streamingUnderstand streaming
Pre-streamingValue
Stream Everything
05Break Silos
04
03
Go To Production
02
Learn Kafka
01
Investment & Time
Solve A Critical
Need
Maturity model
16. 16
Set up secure Kafka
& build your first app
Understand streaming
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Infrastructure & apps
across LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Self-service on shared
Kafka
Infrastructure &
applications across
LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streamingUnderstand streaming
Pre-streamingValue
Stream Everything
05Break Silos
04
03
Go To Production
02
Learn Kafka
01
Solve A Critical
Need
Maturity model
17. 17
Set up secure Kafka
& build your first app
Understand streaming
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Infrastructure & apps
across LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streaming
Self-service on shared
Kafka
Infrastructure &
applications across
LOBs
Monitor & manage a
mission-critical solution
Set up secure Kafka &
build your first app
Understand streamingUnderstand streaming
Pre-streamingValue
Stream Everything
05Break Silos
04
03
Go To Production
02
Learn Kafka
01
Solve A Critical
Need
Maturity model
22. 22
… spawned a full platform
Apache Kafka®
Core | Connect API | Streams API
Stream Processing & Compatibility
KSQL | Schema Registry
Operations
Replicator | Auto Data Balancer | Connectors | MQTT Proxy | Operator
Database
Changes
Log Events IoT Data Web Events other events
Hadoop
Database
Data
Warehouse
CRM
other
DATA INTEGRATION
Transformations
Custom Apps
Analytics
Monitoring
other
REAL-TIME
APPLICATIONS
OPEN SOURCE FEATURES COMMERCIAL FEATURES
Datacenter Public Cloud Confluent Cloud
CONFLUENT PLATFORM
Administration & Monitoring
Control Center | Security
Connectivity
Clients | Connectors | REST Proxy
CONFLUENT FULLY-MANAGEDCUSTOMER SELF-MANAGED
43. 43
Apache Kafka Connect API: Import and Export Data In & Out of Kafka
JDBC
Mongo
MySQL
Elastic
Cassandra
HDFS
Kafka Connect API
Kafka Pipeline
Connector
Connector
Connector
Connector
Connector
Connector
Sources Sinks
Fault tolerant
Manage hundreds of
data sources and sinks
Preserves data schema
Integrated within
Confluent Control Center
44. 44
Connectors: Connect Kafka Easily with Data Sources and Sinks
Databases Datastore/File Store
Analytics Applications / Other
45. 45
Kafka Connect API, Part of the Apache Kafka™ Project
Connect any source to any target system
Integrated
• 100% compatible with Kafka v0.9 and
higher
• Integrated with Confluent’s Schema
Registry
• Easy to manage with Confluent Control
Center
Flexible
• 40+ open source connectors available
• Easy to develop additional connectors
• Flexible support for data types and
formats
Compatible
• Maintains critical metadata
• Preserves schema information
• Supports schema evolution
Reliable
• Automated failover
• Exactly-once guarantees
• Balances workload between nodes
48. 48
Clients: Communicate with Kafka in a Broad Variety of Languages
Apache Kafka
Confluent Platform Community Supported
Proxy http/REST
stdin/stdout
Confluent Platform Clients developed and fully supported by Confluent
49. 49
REST Proxy: Talking to Non-native Kafka Apps and Outside the Firewall
REST Proxy
Non-Java Applications
Native Kafka Java
Applications
Schema Registry
REST / HTTP
Simplifies administrative
actions
Simplifies message creation
and consumption
Provides a RESTful
interface to a Kafka cluster
69. 69
Event Time Processing
Event-time
”The point in time when an event or data record occurred, i.e. was originally created
"by the source". Achieving event-time semantics typically requires embedding
timestamps in the data records at the time a data record is being produced.”
Processing-time
”The point in time when the event or data record happens to be processed by the
stream processing application, i.e. when the record is being consumed. The
processing-time may be milliseconds, hours, or days etc. later than the original event-
time.”
Ingestion-time
“The point in time when an event or data record is stored in a topic partition by a
Kafka broker.”
71. 71
Delivery Guarantee
At most once
“Messages may be lost but are never redelivered.”
At least once
“Messages are never lost but may be redelivered.“
Exactly once
“Each message is delivered once and only once.“
74. 74
KSQL for Data Exploration
SELECT status, bytes
FROM clickstream
WHERE user_agent =
'Mozilla/5.0 (compatible; MSIE 6.0)';
75. 75
KSQL for Streaming ETL
Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Fact 6 id 1 id 2 id 3Business
76. 76
KSQL for Streaming ETL
Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Fact 6 id 1 id 2 id 3
Fact X Fact Y Fact Z
77. 77
KSQL for Streaming ETL
Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Fact 6 id 1 id 2 id 3
Fact X Fact Y Fact Z
Fact A Fact B Fact C Fact D Fact E
Fact K Fact L Fact M Fact N Id X
78. 78
KSQL for Streaming ETL
CREATE STREAM vip_actions AS
SELECT userid, page, action FROM clickstream c
LEFT JOIN users u ON c.userid = u.user_id
WHERE u.level = 'Platinum';
80. 80
User Defined Functions (UDF)
SELECT eventid, anomaly(sensorinput)
FROM sensor
@Udf(description = "apply analytic model to sensor input")
public String anomaly(String sensorinput){ return your_logic; }
81. 81
KSQL for Anomaly Detection
CREATE TABLE possible_fraud AS
SELECT card_number, count(*)
FROM authorization_attempts
WINDOW TUMBLING (SIZE 5 SECONDS)
GROUP BY card_number
HAVING count(*) > 3;
83. 83
Plenty of KSQL Recipies
https://www.confluent.io/stream-processing-cookbook/
84. 84
Plenty of KSQL Recipies
https://www.confluent.io/stream-processing-cookbook/
85. 85
Plenty of KSQL Recipies
https://www.confluent.io/stream-processing-cookbook/
86. 86
KSQL: Enable Stream Processing using SQL-like Semantics
Example Use Cases
• Streaming ETL
• Anomaly detection
• Event monitoring
Leverage Kafka Streams API
without any coding required
KSQL server
Engine
(runs queries)
REST API
CLIClients
Confluent
Control Center
GUI
Kafka Cluster
Use any programming language
Connect via CLI or Control Center
user interface
89. 89
Lowering the Bar to Enter the World of Streaming
Kafka User Population
CodingSophistication
Core Java developers
Core developers who don’t use Java/Scala
Data engineers, architects, DevOps/SRE
BI analysts
streams
91. 91
The Challenge of Data Compatibility at Scale : implicit à explicit !
App 1
App 2
App 3
Many sources without a policy
causes mayhem in a centralized
data pipeline
Ensuring downstream systems can
use the data is key to an
operational stream pipeline
Example: Date formats
Even within a single application,
different formats can be
presented
Incompatibly formatted message
92. 92
Schema Registry: Make Data Backwards Compatible and Future-Proof
● Define the expected fields for each Kafka topic
● Automatically handle schema changes (e.g. new
fields)
● Prevent backwards incompatible changes
● Support multi-data center environments
Elastic
Cassandra
HDFS
Example Consumers
Serializer
App 1
Serializer
App 2
!
Kafka Topic!
Schema
Registry
105. 105
JHipster provides a
quick start application
for the Modern Digital
Enterprise
Enabling developers of the whole to
focus on business
106. 106
Kafka Provides a
Central Nervous
System for the
Modern Digital
Enterprise
Enabling companies to respond
accurately and in real time to
business events
107. 107
JHipster and Kafka
Provide a great set of
combinations of
properties for the
Modern Digital
Enterprise
Enabling developers to move faster to
help companies respond in real time to
business events.