Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成

Hazelcast简介

是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展、高性能的分布式内存计算。基于Apache v2许可证发布,可用于实现分布式数据存储、数据缓存、消息代理器以及分布式计算平台。Hazelcast强调高速访问分布式数据(通常是分布式的缓存)、分布式计算和分布式消息。
Github地址:https://github.com/hazelcast/hazelcast
官方网站:https://hazelcast.org/
API文档:https://docs.hazelcast.org/docs/latest/manual/html-single/index.html

Hazelcast特性:

1.强大的分布式计算:允许任意业务逻辑执行位置引用,并支持跨集群的分布式扩展。作为完全内存数据存储,Hazelcast IMDG可以在几微秒内转换和提取数据,提供吞吐量和查询。在Hazelcast里所有的数据结构都是分布式的,把多个节点当作一个节点使用,最常用的是map,其它的有Queue(队列),MultiMap,Set,List,跟java里的是一样的,因为实现了java里的泛型接口。
2.支持多种语言:Java, C++, .NET/C#, Python, Scala, and NodeJs
3.持久化:Hazelcast主要是解决访问分布式数据和进行分布式计算时保持低延迟。默认情况下,Hazelcast不涉及磁盘或其它持久化的存储。
4.简易性: Hazelcast 功能只需引用一个jar包,除此之外,不依赖任何第三方包。因此可以非常便捷高效的将其嵌入到各种应用服务器中,而不必担心带来额外的问题(jar包冲突、类型冲突等等)。他仅仅提供一系列分布式功能,而不需要绑定任何框架来使用,因此适用于任何场景。扩展,故障处理和恢复都是自动化的,以便于操作管理
5.自治集群(无中心化):Hazelcast 没有任何中心节点,在运行的过程中,它自己选定集群中的某个节点作为中心点来管理所有的节点

Hazelcast客户端(管理中心)下载

下载地址:https://hazelcast.org/download/

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第1张图片
image.png

下载完解压即可,双击start.bat即可启动

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第2张图片
image.png

这个是管理中心的登录URL

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第3张图片
image.png

需要先设置账户密码,密码需要字母大小写还有数字

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第4张图片
image.png

登录页面

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第5张图片
image.png

与springboot进行集成

SpringBoot官方明确表示支持Hazelcast

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-hazelcast.html
引入依赖


       com.hazelcast
       hazelcast
       3.11

引入Hazelcast.xml配置文件

模板可以在Github上找的:https://github.com/hazelcast/hazelcast/blob/master/hazelcast/src/main/resources/hazelcast-default.xml




    
        dev
        dev-pass
    
    http://localhost:8080/hazelcast-mancenter
    
        5701
        
            0
        
        
            
                224.2.2.3
                54327
            
            
                127.0.0.1
                
                    127.0.0.1
                
            
            
                my-access-key
                my-secret-key
                us-west-1
                ec2.amazonaws.com
                hazelcast-sg
                type
                hz-nodes
            
            
                us-east1-b,us-east1-c
            
            
                CLIENT_ID
                CLIENT_SECRET
                TENANT_ID
                SUB_ID
                HZLCAST001
                GROUP-NAME
            
            
                MY-KUBERNETES-NAMESPACE
                MY-SERVICE-NAME
                MY-SERVICE-LABEL-NAME
                MY-SERVICE-LABEL-VALUE
            
            
                true
                hazelcast
            
            
            
        
        
            10.10.1.*
        
        
        
        
            PBEWithMD5AndDES
            thesalt
            thepass
            19
        
        
            
        
    
    
    
        16
        0
    
    
        true
    
    
        0
        1
        0
        -1
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    
    
        BINARY
        1
        0
        0
        0
        NONE
        0
        25
        100
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
        INDEX-ONLY
    
    
        mapName
        10000
        0
    

    
        cacheName
        10000
        0
    
    
        mapName
        10
    

    
        1
        SET
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        OBJECT
        true
        true
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        1
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        1
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        0
        
        0
        0
        1000
        true
        CANCEL_RUNNING_OPERATION
    

    
        0
        1
        0
    

    
        10
        BLOCK
        true
    

    
        10000
        1
        0
        0
        BINARY
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        100
        600000
        0
        0
        true
    

    
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    

    
        0
    

    

    

    
        1
        0
        HyperLogLogMergePolicy
    

    
        100
        1
        16
        com.hazelcast.spi.merge.PutIfAbsentMergePolicy
    

    
        1000
        1
    

    
        2147483647
        true
    

中enabled属性需要设置为true才能开启Hazelcast管理中心,默认为false
表示允许连接到其他节点的端口范围。 0或*表示使用系统提供的端口。
是非常重要的元素,指定Hazelcast的网络环境。
指定Hazelcast将用于在集群成员之间进行通信的端口。
组播,不建议将生成多播机制用于生产,因为UDP通常在生产环境中被阻止,而其他发现机制更明确。
TCP / IP群集
队列名
队列的最大大小。当JVM的本地队列大小达到最大值时,所有put / offer操作都将被阻塞,直到JVM的队列大小低于最大值。 0到Integer.MAX_VALUE之间的任何整数。
备份数量。例如,如果将1设置为备份计数,则映射的所有条目都将复制到另一个JVM以实现故障安全。 0表示没有备份
异步备份的数量。 0表示没有备份
具体的配置说明可以参考:
https://docs.hazelcast.org/docs/latest/manual/html-single/#understanding-configuration

测试代码

@Component
public class HazelcastGetStartServerMaster {
    private HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();

    @PostConstruct
    public void put(){
        Map map = hazelcastInstance.getMap("hello");
        map.put("hello","world");
    }
}

启动测试之前需要先启动Hazelcast管理中心

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第6张图片
image.png

启动成功会显示管理中心的URL

在管理中心可以看到

Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成_第7张图片
image.png

你可能感兴趣的:(Hazelcast数据分发和集群平台管理中心的下载以及和SpringBoot进行集成)