Hazelcast IMDG Is A…
Total Page:16
File Type:pdf, Size:1020Kb
Developing low latency applications with Hazelcast Sharath Sahadevan June 11, 2020 © HAZELCAST | 1 Our Mission: Distributed Computing. Simplified. Two In-Memory Products HAZELCAST IMDG is an operational, HAZELCAST JET is the ultra fast, in-memory, distributed computing application embeddable, 3rd platform that manages data using generation stream processing engine in-memory storage, and performs for low latency batch and stream parallel execution for breakthrough processing. application speed and scale. © HAZELCAST | 2 An In-Memory Data Grid Is… A data model distributed across many servers in a single or across multiple data centers and/or clouds • All data is stored in the RAM of the servers • Servers can be added or removed to increase RAM • Data model is non-relational and is object-based • Applications written in Java, C++, C#/.NET, Node.js, Python, Golang and Scala can receive benefits of distributed data store • Resilient, allowing non-disruptive detection and recovery of a single or multiple servers © HAZELCAST | 3 Why Hazelcast IMDG? Scale-out computing enables cluster capacity to be increased or decreased on-demand Resilience with automatic recovery from member failures without losing data, while minimizing performance impact on running applications Simple Programming Model provides a way for developers to easily program a cluster application as if it is a single process Fast Application Performance enables very large data sets to be held in main memory for real-time performance, featuring support for Intel Optane DC Persistent Memory © HAZELCAST | 4 Hazelcast IMDG Key Differentiators Comprehensive Productive • Very rich APIs and features driven by our huge user base • Legendary ease of use • Features for simple caching use cases at scale • Uses standard interfaces to make learning easy • Features for rich IMDG use cases for Financial Services and OEM • Very wide usage means more developers know Hazelcast • Quick response to new feature requests • Embedded mode has no operational management overhead • Hazelcast IMDG has a solution to meet your needs • Scaling, failure handling and recovery are all automated for ease of operational management • A wide selection of client languages: Java, C++, C#, Python, Scala, and Node.js Performant Enterprise-grade • Fully in-memory store transforms and ingests data in • Stable at vertical and horizontal scale microseconds, providing throughput and query • No maintenance windows required for upgrade or new application • Both a distributed computation system and a data store in the deployment same footprint — eliminates network transit latency penalties from • Cloud and container ready: Pivotal Cloud Foundry, OpenShift, Docker, data movements Azure, AWS, Kubernetes, … • Fastest distributed cache • Industry-leading security • Most widely deployed IMDG, with tens of thousands of deployments in production worldwide © HAZELCAST | 5 Hazelcast IMDG Product Overview © HAZELCAST | 6 Hazelcast In-Memory Computing Platform Java Scala C++ C#/.NET Python Node.js Go Near Cache Near Cache OperationsOperations Clients REST Memcached Clojure Open Client Network Protocol (Backward & Forward Compatibility, Binary Protocol) Management Center Serialization (Serializable, Externalizable, DataSerializable, IdentifiedDataSerializable, Portable, Custom) Web Sessions Hibernate FencedLock/ Enterprise PaaS Deployment java.util.concurrent nd JCache (Tomcat/Jetty/Generic) 2 Level Cache Semaphore Environments (Pivotal Cloud Foundry, Red Hat OpenShift Container Platform, Map MultiMap Replicated Map Set List Queue ReliableTopic AtomicLong IBM Cloud Private) APIs Continuous Topic Ringbuffer HyperLogLog Flake ID Gen. CRDT PN Counter CountDownLatch Query Security Suite Predicate & Executor (Connection, Encryption, Authentication, SQL Query Entry Processor Aggregation AtomicReference Partition Predicate Services Authorization, JAAS LoginModule, SocketInterceptor, TLS, OpenSSL, CP Subsystem Mutual Auth, FIPS140-2 Mode) AP Subsystem (+ Persistence) WAN Replication Node Engine (Socket, Solace Systems, One-way, (Threads, Instances, Eventing, Wait/Notify, Invocation) Multiway, Init New Data Center, Partition Management DR Data Center Recovery, Engine (Members, Lite Members, Master Partition, Replicas, Migrations, Partition Groups, Partition Aware) Discovery SPI, Delta Synchronization) Cluster Management with Cloud Discovery SPI Rolling Upgrades (AWS, Azure, Consul, Eureka, etcd, Heroku, IP List, Apache jclouds, Kubernetes, Multicast, Zookeeper) (Rolling Client Upgrades, Rolling Member Upgrades, No Downtime, Compatibility Networking Test Suite) (IPv4, IPv6) Blue/Green Deployments On-Heap Store High-Density Memory Store (Intel, Sparc) Storage Hot Restart Store Automatic Disaster Recovery (SSD, HDD) Fail-Over JVM (JDK: 8, 9, 10, 11 Vendors: Oracle JDK, OpenJDK, IBM JDK, Azul Zing & Zulu) Clustered JMX / REST Operating Operating System Env (Linux, Oracle Solaris, Windows, AIX, Unix) Hazelcast Striim Hot Cache (Sync Updates from Oracle DB, MS SQL On-Premises GCP AWS Azure Kubernetes Docker VMware Server, MySQL and NonStop DB) © HAZELCAST | 7 Pro Edition Enterprise Edition Hazelcast Solution Integrates with Jet EE PS Hazelcast IMDG Subscriptions? What Is the Right Feature Set? Feature Comparison Enterprise Edition Pro Edition For mission-critical, For service-level guaranteed high-performance scale-out and operation of your application scale-up of your applications Management Center ✓ ✓ MC Packs: Notification, Security, ✓ ✓ Support, Integration MC Packs: Config ✓ Enterprise PaaS Deployments ✓ ✓ (OpenShift, Pivotal Cloud Foundry) Hot Restart Store ✓ ✓ CP Subsystem Persistence ✓ ✓ 24/7 Support 1-hour SLA 4-hour SLA Security Suite ✓ WAN Replication ✓ High-Density Memory Store ✓ Rolling Upgrades – ✓ No Service Interruption Blue/Green Deployments ✓ Automatic Disaster Recovery ✓ © HAZELCAST | 8 Fail-Over Technical Use Cases © HAZELCAST | 9 Technical Use Cases Caching In-Memory Microservices Web Session Data Grid Infrastructure Clustering •High-Density Memory •Simple, modern APIs •Isolation of Services with many, small •Seamless failover between user sessions Store, client and member clusters for easier troubleshooting & •Distributed data structures maintenance •High performance •Full JCache support •Distributed compute •Service registry •No application alteration •Elastic scalability •Distributed clustering •Multiple network discovery •Easy scale-out •Super fast mechanisms •Object-oriented and •Fast session access •High availability non-relational •Inter-process messaging •Offload to existing cluster •Fault tolerant •Elastic and scalable •Fully embeddable •Tomcat, Jetty + any Web Container •Cloud ready •Transparent database •Resilient and flexible integration •Works efficiently with large session objects using delta updates •Client-server and/or embedded architecture © HAZELCAST | 10 Technical Use Cases: Caching • High-Density Memory Store, client and member High-Density Caching • Full JCache support Cache-as-a-Service (CaaS) • Elastic scalability JCache Provider • Super fast Database Caching Hibernate Second Level Cache • High availability Software AG Terracotta Replacement • Fault tolerance Application Scaling • Cloud readiness Elastic Memcached • In-memory access to frequently used data across an Spring Cache elastically-scalable grid • Provide 100’s of GB of near cached data to applications for massive scalability • Dynamically cluster/pool memory and processors © HAZELCAST | 11 Technical Use Cases: Cache in Front of a Data Store Business Systems A B C Scale Hazelcast IMDG MongoDB RDBMS Mainframe NoSQL DB © HAZELCAST | 12 Technical Use Cases: In-Memory Data Grid Compute Hazelcast IMDG Servers Hazelcast Server JVM [Memory] CE = Compute Engine Data Data Data A B C Business Logic Business / Processing Logic Result Result TCP / IP Client Client © HAZELCAST | 13 Technical Use Cases: In-Memory Data Grid Messaging Client 1 Client 2 Client 3 MSG MSG MSG Delivers Delivers Publishers Subscribes Subscribes Topic Bus Node 1 Node 2 Node 3 Node 4 Hazelcast Distributed Topic Bus © HAZELCAST | 14 Technical Use Cases: Microservices Infrastructure Network Discovery • Reduce restoration time after failure • Ease of adding new functionality without affecting users Service Registry • Ease-of-use on a developer machine Service Discovery • Modular structure for larger dev teams Inter-process Communication • Ease-of-deployment, simple services Storage & Isolation • Flexibility of diverse technological landscape • Library structure simple to use, more efficient development process than frameworks • Standard JDK Collections such as Lists, Sets, Queues and constructs such as Topics and Ringbuffers facilitate inter-process messaging • Clients for several languages (currently Java, C#, C/C++, Python, Node.js and Scala) and support for a wide variety of serialization choices • Shared or distributed data store intermediated via service requests to the data grid • Elastically-scalable memory for each independent service © HAZELCAST | 15 Technical Use Cases: Microservices Infrastructure Easier, More Scalable Path to Microservices Simple and configurable backbone that Library that is simpler to use and understand, makes moving an application to a distributed making the development process more efficient environment a lot easier Hazelcast IMDG is a… Highly scalable In-Memory Data Grid (e.g. IMap and JCache), and supports other standard JDK Collections such as Lists, Sets, Queues and some other constructs such as Topics and Ringbuffers that can be easily leveraged