java 内存数据网格_Hazelcast:开源高可扩展内存数据网格

Hazelcast

68747470733a2f2f696d672e736869656c64732e696f2f6769747465722f726f6f6d2f67697474657248512f6769747465722e73766768747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f68617a656c636173742f48617a656c636173742e73766768747470733a2f2f6a617661646f632e696f2f6261646765322f636f6d2e68617a656c636173742f68617a656c636173742f342e302f6a617661646f632e73766768747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f68617a656c636173742f68617a656c6361737468747470733a2f2f696d672e736869656c64732e696f2f6c67746d2f616c657274732f672f68617a656c636173742f68617a656c636173742e7376673f6c6f676f3d6c67746d266c6f676f57696474683d313868747470733a2f2f696d672e736869656c64732e696f2f6c67746d2f67726164652f6a6176612f672f68617a656c636173742f68617a656c636173742e7376673f6c6f676f3d6c67746d266c6f676f57696474683d313868747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d687a2d6f732d6d6173746572266d65747269633d616c6572745f737461747573

Hazelcast is an open-source distributed in-memory data store and computation platform. It provides a wide variety of distributed data structures and concurrency primitives, including:

a distributed, partitioned and queryable in-memory key-value store implementation, called IMap

additional data structures and simple messaging constructs such as Set, MultiMap, Queue, Topic

cluster-wide unique ID generator, called FlakeIdGenerator

a distributed, CRDT based counter, called PNCounter

a cardinality estimator based on HyperLogLog.

Additionally, Hazelcast includes a production-ready Raft implementation which allows implementation of linearizable constructs such as:

a distributed and reentrant lock implementation, called FencedLock

primitives for distributed computing such as AtomicLong, AtomicReference and CountDownLatch.

Hazelcast data structures are in-memory, highly optimized and offer very low latencies. For a single get or put operation on an IMap, you can typically expect a round-trip-time of under 100 microseconds.

It's very simple to form a cluster with Hazelcast, you can easily do it on your computer by just starting several instances. The instances will discover each other and form a cluster. There aren't any dependencies on any external systems.

Hazelcast automatically replicates data across the cluster and you are able to seamlessly tolerate failures and add additional capacity to the cluster when needed.

Hazelcast comes with clients in the following programming languages:

Hazelcast also has first-class support for running on different cloud providers such as AWS, GCP and Azure as well as on Kubernetes.

Download

You can download Hazelcast from hazelcast.org. Once you have downloaded, you can start the Hazelcast instance using the script bin/start.sh.

Get Started

Hazelcast allows you to interact with a cluster using a simple API, for example you can use the Hazelcast Java Client to connect to a running cluster and perform operations on it:

HazelcastInstance hz = HazelcastClient.newHazelcastClient();

IMap map = hz.getMap("my-distributed-map");

map.put("key", "value");

String current = map.get("key");

map.putIfAbsent("somekey", "somevalue");

map.replace("key", "value", "newvalue");

You only need to add a single JAR as a dependency:

com.hazelcast

hazelcast

${hazelcast.version}

For more information, see the Getting Started Guide

Documentation

See the reference manual for in-depth documentation about Hazelcast features.

Code Samples

Hazelcast Jet

Hazelcast Jet is a distributed batch and stream processing framework based on Hazelcast. It can be used to import/export data from/to Hazelcast using a very wide variety of data sources including Hadoop, S3, Apache Kafka, Elasticsearch, JDBC and JMS.

Get Help

You can use the following channels for getting help with Hazelcast:

Gitter for chatting with the development team and other Hazelcast users.

Contributing

We encourage Pull Requests and process them promptly.

To contribute:

For an enhancement or larger feature, create a GitHub issue first to discuss.

Using Snapshot Releases

Maven snippet:

sonatype-snapshots

Sonatype Snapshot Repository

https://oss.sonatype.org/content/repositories/snapshots

false

true

com.hazelcast

hazelcast

${hazelcast.version}

Building From Source

Pull latest from repo git pull origin master and use Maven install (or package) to build mvn clean install.

Testing

Hazelcast has 3 testing profiles:

Default: Type mvn test to run quick/integration tests (those can be run in parallel without using network).

Slow Tests: Type mvn test -P slow-test to run tests that are either slow or cannot be run in parallel.

All Tests: Type mvn test -P all-tests to run all tests serially using network.

Checkstyle and SpotBugs

Hazelcast uses static code analysis tools to check if a Pull Request is ready for merge. Run the following commands locally to check if your contribution is Checkstyle and SpotBugs compatible.

mvn clean validate -P checkstyle

mvn clean compile -P spotbugs

License

Hazelcast is available under the Apache 2 License. Please see the Licensing section for more information.

Acknowledgments

22e1edd4548a530fbfa891e1f3e8e7d2.png

Thanks to YourKit for supporting open source software by providing us a free license for their Java profiler

Copyright

Copyright (c) 2008-2020, Hazelcast, Inc. All Rights Reserved.

Visit www.hazelcast.com for more info.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值