Easy Distributed Systems Using Hazelcast. Peter Veentjer
|
|
- Ashlynn Holmes
- 6 years ago
- Views:
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 Redisson overview (Redis based In-Memory Data Grid) Distributed Collections Distributed Objects Distributed
More informationAgenda. 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 informationStandardize 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 informationMonday, 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 informationWHO 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 informationA 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 informationAccelerate 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 informationGemeinsam 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 informationAchieving 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 informationDesigning 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 informationApache 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 informationAdvanced 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 informationFast 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 informationAccelerate 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 informationArmon 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 informationScheduling 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 informationDistributed 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 informationThreads 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 informationOverview. 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 informationProcessing 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 informationApp 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 informationHow (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 informationParallel 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 informationTopLink 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 informationJava 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 informationRealtime 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 informationPragmatic 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 information10/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 informationHazelcast 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 informationPart 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 informationCMSC 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 informationMOM 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 informationGigaSpaces 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 informationUnder 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 informationOverview 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 informationDeveloping 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 informationThe 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 informationSpoilt 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 informationCS 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 informationXTP, 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 informationTuesday, 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 informationImplementing 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 informationJava 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 informationWhat 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 informationNew 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 informationRapid 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 informationApache 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 informationAkka: 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 informationMySQL 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 informationINF 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 informationIBM 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 informationPrinciples 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 informationMySQL 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 informationNetworking, 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 informationCreate 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 informationOpenIAM 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 informationBuilding 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 informationMatt 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 informationConcurrency 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 informationCS 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 informationClient/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 informationSynchronization 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 informationWEAVE: 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 informationArmon 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 informationBuilding 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 informationTHREADS & 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 informationARCHITECTURE 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 informationApache 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 informationHow 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 informationOracle 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 informationA 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 informationwhat 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 informationExam 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
Oracle Application Cache Solution: Coherence 黃開印 Kevin Huang Principal Sales Consultant Outline Oracle Data Grid Solution for Application Caching Use Cases Coherence Features Summary
More informationMATLAB. 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
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 informationWeb 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 informationX100 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 informationBuffer & 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 informationReal 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 informationHow 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 informationSUMMARY 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 informationJava 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 informationProgramming 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 informationPimp 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 informationHadoop 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 informationApache 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 informationCS5460: 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 informationHeimdall 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 informationDesigning 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 informationGoing 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 informationEvolution 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 informationComputer 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 informationApica 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 informationHome 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>
Oracle Forms Modernization with Oracle Application Express Marc Sewtz Software Development Manager Oracle Application Express Oracle USA Inc. 540 Madison Avenue,
More informationOracle 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 informationOpenECOMP 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 informationEnterprise 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
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