Riding Apache Camel on Cloud willem.jiang@gmail.com blog: - - PowerPoint PPT Presentation

riding apache camel on cloud
SMART_READER_LITE
LIVE PREVIEW

Riding Apache Camel on Cloud willem.jiang@gmail.com blog: - - PowerPoint PPT Presentation

Riding Apache Camel on Cloud willem.jiang@gmail.com blog: https://willemjiang.github.io weibo: willemjiang 2019-03 About Me Open Source Developer in Huawei Apache Camel Committer since 2008 Apache Member Agenda Cloud native and Integration


slide-1
SLIDE 1

Riding Apache Camel on Cloud

willem.jiang@gmail.com blog: https://willemjiang.github.io weibo: willemjiang 2019-03

slide-2
SLIDE 2

About Me

Open Source Developer in Huawei Apache Camel Committer since 2008 Apache Member

slide-3
SLIDE 3

Agenda

Cloud native and Integration Apache Camel Introduction Apache Camel-K Demos

slide-4
SLIDE 4

Digital Transfomation

slide-5
SLIDE 5

SOA to Cloud Native

https://www.infoq.com/articles/microservices-post-kubernetes

slide-6
SLIDE 6

Composite Services as Integration tool

µ µ µ µ µ µ Composite Service API Gateway Composite Service

slide-7
SLIDE 7

Apache Camel

Open Source integration framework based on known Enterprise Integration Pattens Started as a subproject of ActiveMQ from ServiceMix EIP module

r519901 | jstrachan | 2007-03-19 11:54:57 +0100 (Mon, 19 Mar 2007) | 1 line

Became the Top Level Project of Apache in 2009 A Camel can carry 4 times as much load as other beasts of burden!

slide-8
SLIDE 8

Why Camel

EIP implementation 300+ Components Easy to run Amazing Community

slide-9
SLIDE 9

Enterprise Integration Patterns

https://www.enterpriseintegrationpatterns.com/patterns/messaging/

slide-10
SLIDE 10

Message Routing

slide-11
SLIDE 11

Simple Routing

from("file:src/data?noop=true"). to("jms:queue:myqueue");

xxx://endpoint/address?accessToken=xxxxx&delay=30 scheme relation path parameters

slide-12
SLIDE 12

Multicast Routing

from("file:src/data?noop=true"). multicast("ibatis://xxx", "sftp://xxx", "smtp://xxx");

slide-13
SLIDE 13

Message Routing

slide-14
SLIDE 14

Enterprise Integration Patterns

slide-15
SLIDE 15

Camel Component

XXXComponent XXXEndpoint XXXConsumer XXXProducer XXXApplication Camel Processors XXXApplication

slide-16
SLIDE 16

Camel Components

350+ components

slide-17
SLIDE 17

How to run the camel Application

CamelContext context = new DefaultCamelContext(); context.addRoutes(new RouteBuilder() { () -> { from(“direct:start”).to(“mock:result”) }; }); context.start();

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="direct:start"/> <from to="mock:result"/> </route> </camelContext>

Start a JVM which holds right dependencies

slide-18
SLIDE 18

Community

slide-19
SLIDE 19

Spring boot

https://start.spring.io/ -> choose camel Write your own builder Add the components you want Running the application

slide-20
SLIDE 20

Demo Time

https://github.com/WillemJiang/camel-elasticsearch-demo

slide-21
SLIDE 21

Apache Camel-K

Running Camel Application natively on Kubernetes and Openshift. Designed for serverless and microservice architectures. Leveraging the Operator SDK Building with Knative Eventing and Knative Serving

slide-22
SLIDE 22

Running Camel on Kubernetes

Pod1 Pod2 Pod3 Service Service Customer Define Resource

slide-23
SLIDE 23

Camel Routes

Pod1 Pod1

slide-24
SLIDE 24

Reference

https://camel.apache.org http://planet.jboss.org/post/camel_and_enterprise_integration_patterns https://access.redhat.com/documentation/en-us/red_hat_fuse/7.2/html/ apache_camel_development_guide/

slide-25
SLIDE 25

Camel Architecture

slide-26
SLIDE 26

Message and Exchange

Message Headers Body Attachments Exchange ID In Message Out Message Exception Properties MEP Exchange