@@ -38,119 +38,8 @@ For more info, check out Hazelcast [repository](https://github.com/hazelcast/haz
3838Hazelcast Node.js client is a way to communicate to Hazelcast clusters and access the cluster data via Node.js.
3939The client provides a Promise-based API with a builtin support for native JavaScript objects.
4040
41- ## Installation
42-
43- ### Hazelcast
44-
45- Hazelcast Node.js client requires a working Hazelcast cluster to run. This cluster handles the storage and
46- manipulation of the user data.
47-
48- A Hazelcast cluster consists of one or more cluster members. These members generally run on multiple virtual or
49- physical machines and are connected to each other via the network. Any data put on the cluster is partitioned to
50- multiple members transparent to the user. It is therefore very easy to scale the system by adding new members as
51- the data grows. Hazelcast cluster also offers resilience. Should any hardware or software problem causes a crash
52- to any member, the data on that member is recovered from backups and the cluster continues to operate without any
53- downtime.
54-
55- The quickest way to start a single member cluster for development purposes is to use our
56- [ Docker images] ( https://hub.docker.com/r/hazelcast/hazelcast/ ) .
57-
58- ``` bash
59- docker run -p 5701:5701 hazelcast/hazelcast
60- ```
61-
62- This command fetches the latest Hazelcast version. You can find all available tags
63- [ here] ( https://hub.docker.com/r/hazelcast/hazelcast/tags ) .
64-
65- You can also use our ZIP or TAR [ distributions] ( https://hazelcast.com/open-source-projects/downloads/ )
66- as described [ here] ( DOCUMENTATION.md#121-setting-up-a-hazelcast-cluster ) .
67-
68- ### Client
69-
70- ``` bash
71- npm install hazelcast-client
72- ```
73-
74- ## Overview
75-
76- ### Usage
77-
78- ``` js
79- const { Client } = require (' hazelcast-client' );
80-
81- // Connect to Hazelcast cluster
82- const client = await Client .newHazelcastClient ();
83-
84- // Get or create the 'distributed-map' on the cluster
85- const map = await client .getMap (' distributed-map' );
86-
87- // Put 'key', 'value' pair into the 'distributed-map'
88- await map .put (' key' , ' value' );
89-
90- // Get the value associated with the given key from the cluster
91- const value = await map .get (' key' );
92- console .log (value); // Outputs 'value'
93-
94- // Shutdown the client
95- await client .shutdown ();
96- ```
97-
98- > ** NOTE: For the sake of brevity we are going to omit boilerplate parts in the above code snippet.
99- > Refer to [ this code sample] ( https://github.com/hazelcast/hazelcast-nodejs-client/tree/master/code_samples/readme_sample.js )
100- > to see the complete code.**
101-
102- If you are using Hazelcast and the Node.js client on the same machine, the default configuration should work
103- out-of-the-box. However, you may need to configure the client to connect to cluster nodes that are running on
104- different machines or to customize client properties.
105-
106- ### Configuration
107-
108- ``` js
109- const { Client } = require (' hazelcast-client' );
110-
111- // Initialize the client with the given configuration
112- const client = await Client .newHazelcastClient ({
113- clusterName: ' cluster-name' ,
114- network: {
115- clusterMembers: [
116- ' 10.90.0.2:5701' ,
117- ' 10.90.0.3:5701'
118- ]
119- },
120- lifecycleListeners: [
121- (state ) => {
122- console .log (' Lifecycle Event >>> ' + state);
123- }
124- ]
125- });
126-
127- console .log (' Connected to cluster' );
128- await client .shutdown ();
129- ```
130-
131- Refer to [ the documentation] ( DOCUMENTATION.md ) to learn more about supported configuration options.
132-
133- ## Features
134-
135- * Distributed, partitioned and queryable in-memory key-value store implementation, called ** Map**
136- * Eventually consistent cache implementation to store a subset of the Map data locally in the memory of the client, called ** Near Cache**
137- * Additional data structures and simple messaging constructs such as ** Set** , ** MultiMap** , ** Queue** , ** Topic**
138- * Cluster-wide unique ID generator, called ** FlakeIdGenerator**
139- * Distributed, CRDT based counter, called ** PNCounter**
140- * Distributed concurrency primitives from CP Subsystem such as ** FencedLock** , ** Semaphore** , ** AtomicLong**
141- * Integration with [ Hazelcast Viridian] ( https://viridian.hazelcast.com/ )
142- * Support for serverless and traditional web service architectures with ** Unisocket** and ** Smart** operation modes
143- * Ability to listen client lifecycle, cluster state and distributed data structure events
144- * and [ many more] ( https://hazelcast.com/clients/node-js/#client-features ) .
145-
146- ## Getting Help
147-
148- You can use the following channels for your questions and development/usage issues:
149-
150- * [ GitHub repository] ( https://github.com/hazelcast/hazelcast-nodejs-client )
151- * [ Complete documentation] ( https://github.com/hazelcast/hazelcast-nodejs-client/blob/master/DOCUMENTATION.md )
152- * [ API documentation] ( http://hazelcast.github.io/hazelcast-nodejs-client )
153- * [ Slack] ( https://slack.hazelcast.com )
41+ For a list of the features available, and for information about how to install and get started with the client,
42+ see the [ Node.js client documentation] ( https://docs.hazelcast.com/hazelcast/latest/clients/nodejs ) .
15443
15544## Contributing
15645
0 commit comments