You are previewing Getting Started with Hazelcast - Second Edition.
O'Reilly logo
Getting Started with Hazelcast - Second Edition

Book Description

Get acquainted with the highly scalable data grid, Hazelcast, and learn how to bring its powerful in-memory features into your application

In Detail

This book is an easy-to-follow, hands-on introduction that guides you through this innovative new technology. It covers everything from data grids to the simple-to-use distributed data storage collections. Queuing and topic messaging capabilities, as well as locking and transaction support to guard against concurrency race-conditions, are some of the topics that we will cover. We will then move on to distributed task execution, in-place data manipulations and big data analytical processing using MapReduce.

At the end of all this, you will be armed with everything you need to bring amazing power and data scalability to your applications, as well as making them truly global and ready for a worldwide audience.

What You Will Learn

  • Learn and store numerous data types in different distributed collections

  • Set up a cluster from the ground up

  • Work with truly distributed queues and topics for cluster-wide messaging

  • Make your application more resilient by listening into cluster internals

  • Run tasks within and alongside our stored data

  • Filter and search our data using MapReduce jobs

  • Discover the new JCache standard and one of its first implementations

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Getting Started with Hazelcast Second Edition
      1. Table of Contents
      2. Getting Started with Hazelcast Second Edition
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
        7. Trademarks
      8. 1. What is Hazelcast?
        1. Starting out as usual
        2. Data deciding to hang around
        3. Therein lies the problem
        4. Breaking the mould
        5. Moving to new ground
          1. Playing around with our data
        6. Summary
      9. 2. Getting off the Ground
        1. Let's get started
        2. Showing off straightaway
        3. Mapping back to the real world
        4. Sets, lists, and queues
        5. Many things at a time
        6. Searching and indexing
        7. What happens when we reach our limits?
        8. Summary
      10. 3. Going Concurrent
        1. Atomic control
        2. Distributed locking
          1. Tactical locking
        3. Transactionally rolling on
          1. Differences when queuing
          2. Enterprising onwards
          3. Collectively counting up
        4. Spreading the word
        5. Summary
      11. 4. Divide and Conquer
        1. Divvying up the data
        2. Backups everywhere and nowhere
        3. Scaling up the cluster
        4. Having some of our data everywhere
        5. Grouping and separating nodes
        6. Network partitioning
        7. Maintaining quorum
        8. Summary
      12. 5. Listening Out
        1. Listening to the goings-on
        2. The sound of our own data
          1. Continuously querying
          2. Listeners racing into action
          3. Keyless collections
        3. Programmatic configuration ahead of time
        4. Events unfolding in the wider world
        5. Moving data around the place
        6. Extending quorum
        7. Summary
      13. 6. Spreading the Load
        1. All power to the compute
          1. Giving up when tasks take too long
        2. Running once, running everywhere
        3. Placing tasks next to the data
          1. Partitioning control by name
          2. Self-updating results
          3. In-place entry processing
        4. Summary
      14. 7. Gathering Results
        1. What is this big data hype all about?
          1. Trying to make sense of it all
          2. Combining data where possible
        2. Putting theory into practice
          1. Combining results as we go
        3. Simplifying just aggregating up
        4. Summary
      15. 8. Typical Deployments
        1. All heap and nowhere to go
        2. Stepping back from the cluster
        3. Serialization and classes
        4. Getting straight to the point
        5. Architectural overview
          1. Peer-to-peer clusters
          2. Smart clients and server clusters
          3. Dummy client proxying through a single node
        6. Summary
      16. 9. From the Outside Looking In
        1. What about the rest of us?
        2. Memcache
        3. Going RESTful
          1. Cluster status via REST
          2. REST resilience
        4. Summary
      17. 10. Going Global
        1. Getting set up in the cloud
          1. Under manual control
          2. Discovery – the Amazonian way
            1. Filtering the possibilities
        2. Spreading out around the globe
        3. Summary
      18. 11. Playing Well with Others
        1. Don't pass what you need, depend on it
          1. Simplifying collection access
        2. Transparently caching others' data
          1. Bring your own cluster
        3. Cacheable methods with the Spring cache
        4. Caching by standard
        5. Collection persistence
        6. Web session storage
        7. Cluster management
          1. JMX statistics
        8. Summary
      19. A. Configuration Summary
        1. Cluster name
        2. Management center
        3. General properties
        4. WAN replication configuration
        5. Local network/interface binding
        6. Cluster discovery (multicast-, unicast-, or EC2-based)
        7. Map configuration
          1. Maximum size and eviction
          2. Backup copies
          3. Age expiry and idle expiry times
          4. Map merge policy
          5. Selected WAN replication configuration
          6. Indexes on values
        8. Listeners notified on map events
        9. Listeners notified on topic broadcast
        10. Cluster-wide listener registration
      20. Index