Easy Distributed Systems Using Hazelcast. Peter Veentjer

Size: px
Start display at page:

Download "Easy Distributed Systems Using Hazelcast. Peter Veentjer"

Transcription

1 Easy Distributed Systems Using Hazelcast Peter Veentjer

2 Whoami Working for Hazelcast Team Lead Quality & Performance Author of Mastering Hazelcast 3' 14 years Java experience Big love Concurrency control Distributed computing

3

4 What is Hazelcast?

5 What is Hazelcast? Leading Open Source Java In Memory Data/ Compute Grid Out main goal is to simplify development of: Scalable systems Highly available systems

6 Why Hazelcast? 3 MByte JAR no other dependencies! no need to install software! Its a library, not an application framework Apache 2 License Free to use no limitations

7 Distributed Data-structures IAtomicLong/Ref IdGenerator Lock/Condition CountDownLatch Semaphore Queue Map MultiMap Set List Topic Executor ReplicatedMap MapReduce TransactionalMap/Q/S Write your own!

8 So what can I do with it?

9 Scaling

10 Scale up

11 Scale Out

12 High Availability

13 read write

14 Raspberry Pi Cluster

15 When? Caching Messaging Solution Data Aggregation Clustered Scheduling Job Processing Cluster management HTTP session clustering

16 Which companies E-Commerce Apple, ebay Financials JP Morgan, Morgan Stanley, HSBC, Deutsche Bank Telco s AT&T, Ericsson Gaming Ubisoft/Blue Byte

17 Which Open Source Projects WSO2 Carbon Mule ESB Vert.x Apache Camel Apache Shiro OrientDB Alfresco Karaf

18 How Often In April M startups 48K unique

19 Where is the code!

20 Creating Hazelcast Cluster HazelcastInstance hz = Hazelcast.newHazelcastInstance();

21 XML Configuration <hazelcast> <network> </network> <map name= m > </map> <queue name= q > </queue> < </hazelcast>

22 Programmatic Configuration Config config = new Config(); make config modifications HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);

23 Demo

24 Map Map<String,String> products = new HashMap(); map.put("1","iphone");

25 Map Map<String,String> products = new ConcurrentHashMap(); map.put("1","iphone");

26 Map HazelcastInstance hz = Hazelcast.newHazelcastInstance(); Map<String,String> products = hz.getmap("products"); cities.put("1","iphone");

27 Demo

28 Map Configuration! <map name="products"> <time-to-live-seconds>4</time-to-live-seconds> <indexes> <index>name</index> </indexes> <..> </map>

29 Map Scalability and High Availability 271 Partitions partitionid = hash(key) % partitioncount

30 Map Scalability and High Availability Member 1

31 Map Scalability and High Availability Member 1 Member 2

32 Map Scalability and High Availability Member 1 Member 2 Member 3

33 Map Scalability and High Availability Member 1 Member 2 Member 3

34 Map Scalability and High Availability Member 1 Member 2 Member 3

35 Map Scalability and High Availability Member 1 Member 2

36 Demo

37 Multimap Collection as value Serialization Overhead Lost update

38 Demo

39 Queue BlockingQueue queue = new LinkedBlockingQueue(); queue.offer("1"); Object item = queue.take();

40 Queue! HazelcastInstance hz = Hazelcast.newHazelcastInstance(); BlockingQueue queue = hz.getqueue("queue"); queue.offer("1"); Object item = queue.take();

41 Demo

42 Topic ITopic topic = hz.gettopic("topic"); //publishing topic.publish(msg);! //subscribing topic.addmessagelistener(new TopicSubscriber());! public class TopicSubscriber implements MessageListener<String> { public void onmessage(message<string> m) { System.out.println(m.getMessageObject()); } }

43 Client Languages Java C++ C# Memcached Smart vs Dumb

44 Client HazelcastInstance client = HazelcastClient.newHazelcastClient();

45 Network Communication Cluster Discovery Multicast TCP/IP Cluster AWS Cluster Normal Network Communication TCP/IP

46 Advanced Hazelcast

47 Data Locality: Problem! ILock lock = hz.getlock( somelock );! IAtomicLong counter =hz.getatomiclong( somecounter );! IMap map = hz.getmap( somemap ); map.put( someperson,new Person()); map.get( someperson );

48 Member 1 SomeLock Member 2 SomeCounter Member 3 SomePerson

49 name

50 Data Locality: Fixed ILock lock = hz.getlock( somelock@foo ); IAtomicLong counter = hz.getatomiclong( somecounter@foo );! IMap map = hz.getmap( somemap ); map.put( someperson@foo, new Person()); Person p = map.get( someperson@foo );

51 Member 1 SomeLock Foo Partition Member 2 Member 3 SomeCounter SomePerson

52 Adding object in same partition IAtomicLong c1 = IAtomicLong c2 = hz.getatomiclong( c2@ +c1.getpartitionkey());

53 Executor Execute task anywhere Execute task on key owner Execute task one/all/subset members Synchronisation Future ExecutionCallback CompletableFuture Hazelcast 3.3

54 Demo

55 Locking Locks TransactionalMap.getForUpdate Map.Lock

56 Demo

57 Race problem public void increment(int accountid,int amount){ Account account = accounts.get(accountid); account.balance+=amount; accounts.put(accountid, account); }

58 Pessimistic Increment public void increment(int accountid,int amount){ accounts.lock(accountid); try{ Account account = accounts.get(accountid); account.balance+=amount; accounts.put(accountid, account); }finally{ accounts.unlock(accountid); } }

59 Pessimistic Increment public void increment(int accountid,int amount){ accounts.lock(accountid); try{ Account account = accounts.get(accountid); account.balance+=amount; accounts.put(accountid, account); }finally{ accounts.unlock(accountid); } }

60 Optimistic Increment public void increment(int accountid,int amount){ for(;;){ Account old = accounts.get(accountid); Account update = new Account(old); update.balance+=amount; if(accounts.replace(accountid, old,update)){ return; } } }

61 Optimistic Increment public void increment(int accountid,int amount){ for(;;){ Account old = accounts.get(accountid); Account update = new Account(old); update.balance+=amount; if(accounts.replace(accountid, old,update)){ return; } } }

62 Read Data Write Data DATA Bad: Send Data to Function Write Function DATA Good: Send Function to Data

63 class BalanceTask implements Runnable,Serializable{ private int accountid, amount; public void run() { for(;;){ Account old = accounts.get(accountid); Account update = new Account(old); update.balance+=amount; if(accounts.replace(accountid, old,update)){ return; } } } }

64 Increment with runnable public void increment(int id, int amount){ BalanceTask task = new BalanceTask(id,amount); executorservice.executeonkeyowner(task,id); }

65 Increment with EntryProcessor class BalanceProcessor extends AbstractEntryProcessor{ int amount; BalanceProcessor(int amount) { this.amount = amount; }! Object process(map.entry<integer, Account> e) { e.getvalue().balance+=amount; return null; }

66 Using entry processor public void increment(int accountid, int amount){ BalanceProcessor p = new BalanceProcessor(amount); accounts.executeonkey(accountid, p); }

67 Map: In Memory Format 2 Options BINARY OBJECT Predicates EntryProcessor

68 SPI You can write your own distributed datastructures Example Distributed Actors implementation

69 Serialization API Serializable/Externalizable Portable ByteArraySerializable StreamSerializer Kryo Jackson Smile Protobuf

70 Kryo Serialization Serialization 20,000 Size in Bytes 15,000 10,000 5,000 0 Kryo Kryp + Compr

71 Pluggable Serialization! SerializerConfig ps = new SerializerConfig().setTypeClass(Product.class).setImplementation(new ProductSerializer());! Config config = new Config(); config.getserializationconfig().addserializerconfig(ps);! HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);

72 Hazelcast 3.2 Map Reduce IMap<Integer,Account> accounts = hz.getmap( accounts );! Map<Integer,Integer> result = accounts.map(new AccountSumMapper()).reduce(new AccountSumReducer()).submit()

73 Enterprise vs Community edition Support contracts Elastic Memory Security Management Center

74 The Future Stabilizer Topologies Dynamic Creation Map of Maps Tiered storage

75 Questions?

Redis based In-Memory Data Grid and Distributed Locks in Java. Nikita Koksharov, Founder of Redisson

Redis based In-Memory Data Grid and Distributed Locks in Java. Nikita Koksharov, Founder of Redisson Redis based In-Memory Data Grid and Distributed Locks in Java Nikita Koksharov, Founder of Redisson Redisson overview (Redis based In-Memory Data Grid) Distributed Collections Distributed Objects Distributed

More information

Agenda. Apache Ignite Project Apache Ignite Data Fabric: Data Grid HPC & Compute Streaming & CEP Hadoop & Spark Integration Use Cases Demo Q & A

Agenda. Apache Ignite Project Apache Ignite Data Fabric: Data Grid HPC & Compute Streaming & CEP Hadoop & Spark Integration Use Cases Demo Q & A Introduction 2015 The Apache Software Foundation. Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation. Agenda Apache Ignite Project Apache

More information

Standardize caching in Java. Introduction to JCache and In-Memory data grid solutions

Standardize caching in Java. Introduction to JCache and In-Memory data grid solutions Standardize caching in Java Introduction to JCache and In-Memory data grid solutions Agenda 1. What is caching? 2. JCache overview 3. Quick walk through providers 4. C2MON highlights What is caching? What

More information

Monday, November 21, 2011

Monday, November 21, 2011 Infinispan for Ninja Developers Mircea Markus, Red Hat R&D Who s this guy? R&D JBoss Clustering @ Redhat JBoss clustering: JBossCache, PojoCache, jgroups,.. Infinispan developer - day 1 Founder Radargun

More information

WHO AM I.

WHO AM I. WHO AM I Christoph Engelbert (@noctarius2k) 8+ years of professional Java development Specialized to performance, GC, traffic topics Apache DirectMemory PMC Previous companies incl. Ubisoft and HRS Official

More information

A memcached implementation in Java. Bela Ban JBoss 2340

A memcached implementation in Java. Bela Ban JBoss 2340 A memcached implementation in Java Bela Ban JBoss 2340 AGENDA 2 > Introduction > memcached > memcached in Java > Improving memcached > Infinispan > Demo Introduction 3 > We want to store all of our data

More information

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 About the Presentation Problems Existing Solutions Denis Magda

More information

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Bring the process to the cached data in Oracle Coherence September 2015 Agenda Currrent Situation Coherence in the CAF What is Coherence? Characteristics of Coherence Data Grid

More information

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc. Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability

More information

Designing for Scalability. Patrick Linskey EJB Team Lead BEA Systems

Designing for Scalability. Patrick Linskey EJB Team Lead BEA Systems Designing for Scalability Patrick Linskey EJB Team Lead BEA Systems plinskey@bea.com 1 Patrick Linskey EJB Team Lead at BEA OpenJPA Committer JPA 1, 2 EG Member 2 Agenda Define and discuss scalability

More information

Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source

Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source DMITRIY SETRAKYAN Founder, PPMC https://ignite.apache.org @apacheignite @dsetrakyan Agenda About In- Memory Computing Apache Ignite

More information

Advanced HTTP session management with Oracle Coherence

Advanced HTTP session management with Oracle Coherence Advanced HTTP session management with Oracle Coherence Michał Kuratczyk principal solution architect, Oracle Oracle Coherence distributed in memory key value NoSQL data grid for Java,.NET and C++ objects

More information

Fast and Easy Stream Processing with Hazelcast Jet. Gokhan Oner Hazelcast

Fast and Easy Stream Processing with Hazelcast Jet. Gokhan Oner Hazelcast Fast and Easy Stream Processing with Hazelcast Jet Gokhan Oner Hazelcast Stream Processing Why should I bother? What is stream processing? Data Processing: Massage the data when moving from place to place.

More information

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Nikita Ivanov CTO and Co-Founder GridGain Systems Peter Zaitsev CEO and Co-Founder Percona About the Presentation

More information

Armon HASHICORP

Armon HASHICORP Nomad Armon Dadgar @armon Distributed Optimistically Concurrent Scheduler Nomad Distributed Optimistically Concurrent Scheduler Nomad Schedulers map a set of work to a set of resources Work (Input) Resources

More information

Scheduling Applications at Scale

Scheduling Applications at Scale Scheduling Applications at Scale Meeting Tomorrow's Application Needs, Today http://1stchoicesportsrehab.com/wp-content/uploads/2012/05/calendar.jpg SETH VARGO @sethvargo Globally Distributed Optimistically

More information

Distributed Programming

Distributed Programming Distributed Programming Marcel Heinz & Ralf Lämmel Software Languages Team University of Koblenz-Landau Motivation How can we achieve better performance? How can we distribute computations? How can we

More information

Threads Questions Important Questions

Threads Questions Important Questions Threads Questions Important Questions https://dzone.com/articles/threads-top-80-interview https://www.journaldev.com/1162/java-multithreading-concurrency-interviewquestions-answers https://www.javatpoint.com/java-multithreading-interview-questions

More information

Overview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions

Overview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions CMSC 330: Organization of Programming Languages Multithreaded Programming Patterns in Java CMSC 330 2 Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to

More information

Processing of big data with Apache Spark

Processing of big data with Apache Spark Processing of big data with Apache Spark JavaSkop 18 Aleksandar Donevski AGENDA What is Apache Spark? Spark vs Hadoop MapReduce Application Requirements Example Architecture Application Challenges 2 WHAT

More information

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies App Servers NG: Characteristics of The Next Generation Application Servers Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies Who am I? 2 Years with GigaSpaces VP of R&D Chief Product Architect

More information

How (Not) to Build Scalable Applications in ONOS. Jordan Halterman Member of Technical ONF

How (Not) to Build Scalable Applications in ONOS. Jordan Halterman Member of Technical ONF How (Not) to Build Scalable Applications in ONOS Jordan Halterman Member of Technical Staff @ ONF 1 Distributed Applications @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService

More information

Parallel and Distributed Computing (PD)

Parallel and Distributed Computing (PD) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Parallel and Distributed Computing (PD) The past decade has brought explosive growth in multiprocessor computing, including multi-core

More information

TopLink Grid: Scaling JPA applications with Coherence

TopLink Grid: Scaling JPA applications with Coherence TopLink Grid: Scaling JPA applications with Coherence Shaun Smith Principal Product Manager shaun.smith@oracle.com Java Persistence: The Problem Space Customer id: int name: String

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Realtime visitor analysis with Couchbase and Elasticsearch

Realtime visitor analysis with Couchbase and Elasticsearch Realtime visitor analysis with Couchbase and Elasticsearch Jeroen Reijn @jreijn #nosql13 About me Jeroen Reijn Software engineer Hippo @jreijn http://blog.jeroenreijn.com About Hippo Visitor Analysis OneHippo

More information

Pragmatic Clustering. Mike Cannon-Brookes CEO, Atlassian Software Systems

Pragmatic Clustering. Mike Cannon-Brookes CEO, Atlassian Software Systems Pragmatic Clustering Mike Cannon-Brookes CEO, Atlassian Software Systems 1 Confluence Largest enterprise wiki in the world 2000 customers in 60 countries J2EE application, ~500k LOC Hibernate, Lucene,

More information

10/24/2017 Sangmi Lee Pallickara Week 10- A. CS535 Big Data Fall 2017 Colorado State University

10/24/2017 Sangmi Lee Pallickara Week 10- A. CS535 Big Data Fall 2017 Colorado State University CS535 Big Data - Fall 2017 Week 10-A-1 CS535 BIG DATA FAQs Term project proposal Feedback for the most of submissions are available PA2 has been posted (11/6) PART 2. SCALABLE FRAMEWORKS FOR REAL-TIME

More information

Hazelcast Branding Guidelines

Hazelcast Branding Guidelines Hazelcast Branding Guidelines Contents Hazelcast Company Branding Guidelines Hazelcast Company Logo Overview... 3 The Design Ethos... 3 About Hazelcast... 3 Hazelcast Logo Colors... 4 Clear Space and Sizing...

More information

Part I: Communication and Networking

Part I: Communication and Networking Review what we learned Part I: Communication and Networking Communication and Networking: Week 5-6, Lectures 2-7 Lecture 1 OSI vs TCP/IP model OSI model Protocols TCP/IP model Application FTP SMTP HTTP

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Multithreading Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to large compute clusters Can perform multiple

More information

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware MOM MESSAGE ORIENTED MOM Message Oriented Middleware MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS Peter R. Egli 1/25 Contents 1. Synchronous versus asynchronous interaction

More information

GigaSpaces XAP 10.0 Core Training Using Core Features of GigaSpaces XAP and OpenSpaces

GigaSpaces XAP 10.0 Core Training Using Core Features of GigaSpaces XAP and OpenSpaces GigaSpaces XAP 10.0 Core Training Using Core Features of GigaSpaces XAP and OpenSpaces Enter the SBA world with GigaSpaces XAP and its built-in development framework OpenSpaces. This training is designed

More information

Under the Paul Fremantle, CTO, WSO2

Under the Paul Fremantle, CTO, WSO2 Under the Hood @WSO2 Paul Fremantle, CTO, WSO2 Paul Fremantle CTO and Co-Founder 10 years at IBM STSM in WebSphere Development Infoworld CTO 25 in 2008 VP, Apache Synapse Co-Chair, OASIS WSRX TC Why look

More information

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

The Next Generation. Prabhat Jha Principal Engineer

The Next Generation. Prabhat Jha Principal Engineer The Next Generation Prabhat Jha Principal Engineer What do you wish you had in an Open Source JEE Application Server? Faster Startup Time? Lighter Memory Footprint? Easier Administration? 7 Reasons To

More information

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration.  Kai Wähner Spoilt for Choice Which Integration Framework to choose? Integration vs. Mule ESB vs. Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business

More information

CS 351 Design of Large Programs Threads and Concurrency

CS 351 Design of Large Programs Threads and Concurrency CS 351 Design of Large Programs Threads and Concurrency Brooke Chenoweth University of New Mexico Spring 2018 Concurrency in Java Java has basic concurrency support built into the language. Also has high-level

More information

XTP, Scalability and Data Grids An Introduction to Coherence

XTP, Scalability and Data Grids An Introduction to Coherence XTP, Scalability and Data Grids An Introduction to Coherence Tom Stenström Principal Sales Consultant Oracle Presentation Overview The challenge of scalability The Data Grid What

More information

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Infinispan s Hot Rod Protocol Galder Zamarreño Senior Software Engineer, Red Hat 21st June 2010 Who is Galder? Core R&D engineer on Infinispan and JBoss

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)? What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)? What is Amazon Machine Image (AMI)? Amazon Elastic Compute Cloud (EC2)?

More information

New Features in EJB 3.1

New Features in EJB 3.1 New Features in EJB 3.1 Sangeetha S E-Commerce Research Labs, Infosys Technologies Limited 2010 Infosys Technologies Limited Agenda New Features in EJB 3.1 No Interface View EJB Components in WAR Singleton

More information

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises

Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises Rapid Large-Scale SOA - Connected Products at Leapfrog Enterprises A little bit about myself Jason Whaley Web Infrastructure Engineer Leapfrog Enterprises jwhaley@leapfrog.com What Will be Covered Overview

More information

Apache Ignite and Apache Spark Where Fast Data Meets the IoT

Apache Ignite and Apache Spark Where Fast Data Meets the IoT Apache Ignite and Apache Spark Where Fast Data Meets the IoT Denis Magda GridGain Product Manager Apache Ignite PMC http://ignite.apache.org #apacheignite #denismagda Agenda IoT Demands to Software IoT

More information

Akka: Simpler Concurrency, Scalability & Fault-tolerance through Actors. Jonas Bonér Viktor Klang

Akka: Simpler Concurrency, Scalability & Fault-tolerance through Actors. Jonas Bonér Viktor Klang Akka: Simpler Concurrency, Scalability & Fault-tolerance through Actors Jonas Bonér Viktor Klang We believe that... Writing correct concurrent applications is too hard Scaling out applications is too hard

More information

MySQL for Database Administrators Ed 3.1

MySQL for Database Administrators Ed 3.1 Oracle University Contact Us: 1.800.529.0165 MySQL for Database Administrators Ed 3.1 Duration: 5 Days What you will learn The MySQL for Database Administrators training is designed for DBAs and other

More information

INF 212 ANALYSIS OF PROG. LANGS CONCURRENCY. Instructors: Crista Lopes Copyright Instructors.

INF 212 ANALYSIS OF PROG. LANGS CONCURRENCY. Instructors: Crista Lopes Copyright Instructors. INF 212 ANALYSIS OF PROG. LANGS CONCURRENCY Instructors: Crista Lopes Copyright Instructors. Basics Concurrent Programming More than one thing at a time Examples: Network server handling hundreds of clients

More information

IBM Software Group. IBM WebSphere MQ V7.0. Introduction and Technical Overview. An IBM Proof of Technology IBM Corporation

IBM Software Group. IBM WebSphere MQ V7.0. Introduction and Technical Overview. An IBM Proof of Technology IBM Corporation IBM Software Group IBM WebSphere MQ V7.0 Introduction and Technical Overview An IBM Proof of Technology 2008 IBM Corporation Unit Agenda Why is Messaging Important to the Enterprise? What is WebSphere

More information

Principles of Software Construction: Objects, Design and Concurrency. The Perils of Concurrency, Part 2 (Can't live with it, can't live without it.

Principles of Software Construction: Objects, Design and Concurrency. The Perils of Concurrency, Part 2 (Can't live with it, can't live without it. Principles of Software Construction: Objects, Design and Concurrency 15-214 toad The Perils of Concurrency, Part 2 (Can't live with it, can't live without it.) Spring 2013 Christian Kästner Charlie Garrod

More information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

Networking, Java threads and synchronization. PRIS lecture 4 Fredrik Kilander

Networking, Java threads and synchronization. PRIS lecture 4 Fredrik Kilander Networking, Java threads and synchronization PRIS lecture 4 Fredrik Kilander OSI Application Presentation Session Transport Network Data link Physical TCP/IP Application Transport Internet Host-to-network

More information

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze Rob Davies Director of Open Source Product Development, Progress: FuseSource - http://fusesource.com/ Rob Davies

More information

OpenIAM Identity and Access Manager Technical Architecture Overview

OpenIAM Identity and Access Manager Technical Architecture Overview OpenIAM Identity and Access Manager Technical Architecture Overview Overview... 3 Architecture... 3 Common Use Case Description... 3 Identity and Access Middleware... 5 Enterprise Service Bus (ESB)...

More information

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg Building loosely coupled and scalable systems using Event-Driven Architecture Jonas Bonér Patrik Nordwall Andreas Källberg Why is EDA Important for Scalability? What building blocks does EDA consists of?

More information

Matt Ingenthron. Couchbase, Inc.

Matt Ingenthron. Couchbase, Inc. Matt Ingenthron Couchbase, Inc. 2 What is Membase? Before: Application scales linearly, data hits wall Application Scales Out Just add more commodity web servers Database Scales Up Get a bigger, more complex

More information

Concurrency and High Performance Reloaded

Concurrency and High Performance Reloaded Concurrency and High Performance Reloaded Disclaimer Any performance tuning advice provided in this presentation... will be wrong! 2 www.kodewerk.com Me Work as independent (a.k.a. freelancer) performance

More information

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads

More information

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Synchronization COMPSCI 386

Synchronization COMPSCI 386 Synchronization COMPSCI 386 Obvious? // push an item onto the stack while (top == SIZE) ; stack[top++] = item; // pop an item off the stack while (top == 0) ; item = stack[top--]; PRODUCER CONSUMER Suppose

More information

WEAVE: YARN MADE EASY. Jonathan Gray Continuuity HBase Committer

WEAVE: YARN MADE EASY. Jonathan Gray Continuuity HBase Committer WEAVE: YARN MADE EASY Jonathan Gray Founder/CEO @ Continuuity HBase Committer Los Angeles Hadoop User Group August 29, 2013 AGENDA About Me About Continuuity (quickly) BigFlow: Our first YARN application

More information

Armon HASHICORP

Armon HASHICORP Nomad Armon Dadgar @armon Cluster Manager Scheduler Nomad Cluster Manager Scheduler Nomad Schedulers map a set of work to a set of resources Work (Input) Resources Web Server -Thread 1 Web Server -Thread

More information

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL Building High Performance Apps using NoSQL Swami Sivasubramanian General Manager, AWS NoSQL Building high performance apps There is a lot to building high performance apps Scalability Performance at high

More information

THREADS & CONCURRENCY

THREADS & CONCURRENCY 27/04/2018 Sorry for the delay in getting slides for today 2 Another reason for the delay: Yesterday: 63 posts on the course Piazza yesterday. A7: If you received 100 for correctness (perhaps minus a late

More information

ARCHITECTURE ARCHITECTURE OVERVIEW

ARCHITECTURE ARCHITECTURE OVERVIEW ARCHITECTURE ARCHITECTURE OVERVIEW The personalization of the customer experience is in every marketer s mind and this requirement has strong impacts on customer data integration, across channels and applications.

More information

Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications

Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications Apache Multipurpose Infrastructure for Network Applications Building Scalable Network Applications Dan Pritchett Rearden Commerce Dan Pritchett Apache Multipurpose Infrastructure for Network Applications

More information

How Graphs and Java make GraphHopper efficient and fast. By Berlin Buzzwords,

How Graphs and Java make GraphHopper efficient and fast. By Berlin Buzzwords, How Graphs and Java make GraphHopper efficient and fast By Peter @timetabling Berlin Buzzwords, 2014-05-27 _ Available at graphhopper.com/public/slides How int[][] helped GraphHopper scaling How Graphs

More information

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product. Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test

More information

A Quest for Predictable Latency Adventures in Java Concurrency. Martin Thompson

A Quest for Predictable Latency Adventures in Java Concurrency. Martin Thompson A Quest for Predictable Latency Adventures in Java Concurrency Martin Thompson - @mjpt777 If a system does not respond in a timely manner then it is effectively unavailable 1. It s all about the Blocking

More information

what is cloud computing?

what is cloud computing? what is cloud computing? (Private) Cloud Computing with Mesos at Twi9er Benjamin Hindman @benh scalable virtualized self-service utility managed elastic economic pay-as-you-go what is cloud computing?

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

<Insert Picture Here> Oracle Application Cache Solution: Coherence

<Insert Picture Here> Oracle Application Cache Solution: Coherence Oracle Application Cache Solution: Coherence 黃開印 Kevin Huang Principal Sales Consultant Outline Oracle Data Grid Solution for Application Caching Use Cases Coherence Features Summary

More information

MATLAB. Senior Application Engineer The MathWorks Korea The MathWorks, Inc. 2

MATLAB. Senior Application Engineer The MathWorks Korea The MathWorks, Inc. 2 1 Senior Application Engineer The MathWorks Korea 2017 The MathWorks, Inc. 2 Data Analytics Workflow Business Systems Smart Connected Systems Data Acquisition Engineering, Scientific, and Field Business

More information

<Insert Picture Here> A Brief Introduction to Live Object Pattern

<Insert Picture Here> A Brief Introduction to Live Object Pattern A Brief Introduction to Live Object Pattern Dave Felcey Coherence Product Management The following is intended to outline general product use and direction. It is intended for information

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

X100 ARCHITECTURE REFERENCES:

X100 ARCHITECTURE REFERENCES: UNION SYSTEMS GLOBAL This guide is designed to provide you with an highlevel overview of some of the key points of the Oracle Fusion Middleware Forms Services architecture, a component of the Oracle Fusion

More information

Buffer & File Optimization. Cloud Databases DataLab CS, NTHU

Buffer & File Optimization. Cloud Databases DataLab CS, NTHU Buffer & File Optimization Cloud Databases DataLab CS, NTHU 1 Outline Useful Java Classes for Concurrency Lock Striping Summary of File & Buffer Optimization 2 Outline Useful Java Classes for Concurrency

More information

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana Real World Messaging With Apache ActiveMQ Bruce Snyder bsnyder@apache.org 7 Nov 2008 New Orleans, Louisiana Do You Use JMS? 2 Agenda Common questions ActiveMQ features 3 What is ActiveMQ? Message-oriented

More information

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

How can you implement this through a script that a scheduling daemon runs daily on the application servers? You ve been tasked with implementing an automated data backup solution for your application servers that run on Amazon EC2 with Amazon EBS volumes. You want to use a distributed data store for your backups

More information

SUMMARY LAYERED ARCHITECTURE

SUMMARY LAYERED ARCHITECTURE SUMMARY Introduction Layered architecture Event driven architecture Microservices architecture SOFTWARE ARCHITECTURE PATTERNS INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica

More information

Java Concurrency. Towards a better life By - -

Java Concurrency. Towards a better life By - - Java Concurrency Towards a better life By - Srinivasan.raghavan@oracle.com - Vaibhav.x.choudhary@oracle.com Java Releases J2SE 6: - Collection Framework enhancement -Drag and Drop -Improve IO support J2SE

More information

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First

More information

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here> Pimp My Data Grid Brian Oliver Senior Principal Solutions Architect (brian.oliver@oracle.com) Oracle Coherence Oracle Fusion Middleware Agenda An Architectural Challenge Enter the

More information

Hadoop Map Reduce 10/17/2018 1

Hadoop Map Reduce 10/17/2018 1 Hadoop Map Reduce 10/17/2018 1 MapReduce 2-in-1 A programming paradigm A query execution engine A kind of functional programming We focus on the MapReduce execution engine of Hadoop through YARN 10/17/2018

More information

Apache Tamaya Configuring your Containers...

Apache Tamaya Configuring your Containers... Apache Tamaya Configuring your Containers... BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH About Me Anatole Tresch Principal Consultant,

More information

CS5460: Operating Systems

CS5460: Operating Systems CS5460: Operating Systems Lecture 9: Implementing Synchronization (Chapter 6) Multiprocessor Memory Models Uniprocessor memory is simple Every load from a location retrieves the last value stored to that

More information

Heimdall Data Access Platform Installation and Setup Guide

Heimdall Data Access Platform Installation and Setup Guide Heimdall Data Access Platform Installation and Setup Guide Heimdall Data Access Platform Installation and Setup Guide Heimdall Data Access Platform Installation and Setup Guide 1. General Information 1

More information

Designing Next Generation Data-Centers with Advanced Communication Protocols and Systems Services

Designing Next Generation Data-Centers with Advanced Communication Protocols and Systems Services Designing Next Generation Data-Centers with Advanced Communication Protocols and Systems Services P. Balaji, K. Vaidyanathan, S. Narravula, H. W. Jin and D. K. Panda Network Based Computing Laboratory

More information

Going Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke

Going Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke Going Reactive Reactive Microservices based on Vert.x JavaLand Kristian Kottke Whoami Kristian Kottke Lead Software Engineer -> iteratec Interests Software Architecture Big Data Technologies Kristian.Kottke@iteratec.de

More information

Evolution of an Apache Spark Architecture for Processing Game Data

Evolution of an Apache Spark Architecture for Processing Game Data Evolution of an Apache Spark Architecture for Processing Game Data Nick Afshartous WB Analytics Platform May 17 th 2017 May 17 th, 2017 About Me nafshartous@wbgames.com WB Analytics Core Platform Lead

More information

Computer Science Curricula 2013

Computer Science Curricula 2013 Computer Science Curricula 2013 Curriculum Guidelines for Undergraduate Degree Programs in Computer Science December 20, 2013 The Joint Task Force on Computing Curricula Association for Computing Machinery

More information

Apica ZebraTester. Advanced Load Testing Tool and Cloud Platform

Apica ZebraTester. Advanced Load Testing Tool and Cloud Platform Whether Fortune 100 or the next big startup, Apica s bestin-class load testing and test automation platform helps companies ensure their web and mobile services runs with optimal performance. is an enterprise-level

More information

Home of Redis. April 24, 2017

Home of Redis. April 24, 2017 Home of Redis April 24, 2017 Introduction to Redis and Redis Labs Redis with MySQL Data Structures in Redis Benefits of Redis e 2 Redis and Redis Labs Open source. The leading in-memory database platform,

More information

<Insert Picture Here>

<Insert Picture Here> Oracle Forms Modernization with Oracle Application Express Marc Sewtz Software Development Manager Oracle Application Express Oracle USA Inc. 540 Madison Avenue,

More information

Oracle 10g and IPv6 IPv6 Summit 11 December 2003

Oracle 10g and IPv6 IPv6 Summit 11 December 2003 Oracle 10g and IPv6 IPv6 Summit 11 December 2003 Marshal Presser Principal Enterprise Architect Oracle Corporation Agenda Oracle Distributed Computing Role of Networking IPv6 Support Plans Early IPv6 Implementations

More information

OpenECOMP SDC Developer Guide

OpenECOMP SDC Developer Guide OpenECOMP SDC Developer Guide Copyright 2017 AT&T Intellectual Property. All rights reserved. Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation

More information

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers 1. Introduction Applications are developed to support their business operations. They take data as input; process the data based on business rules and provides data or information as output. Based on this,

More information

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns QCon: London 2009 Data Grid Design Patterns Brian Oliver Global Solutions Architect brian.oliver@oracle.com Oracle Coherence Oracle Fusion Middleware Product Management Agenda Traditional

More information