Hazelcast, the leading open source in-memory data grid (IMDG) with tens of thousands of installed clusters and over 40 million server starts per month, today announced the availability of a new Hazelcast Go Client for client-server deployments of Hazelcast IMDG – giving Go applications capabilities to integrate and share large datasets with other applications in real-time while scaling to the cloud and ensuring high-performance and reliability. Go (often referred to as Golang) is an open source programming language that makes it easy to build simple, reliable, and efficient software. Go’s concurrency and networking features, and its high degree of portability, make it well-suited for building cloud-native applications.
Go Client for Hazelcast is the only in-memory data grid currently available for Go developers – it uses the Hazelcast Open Client Protocol 1.6 for Hazelcast IMDG 3.6 and higher and supports Go 1.6+. Hazelcast Go Client 0.1 supports access to distributed maps, which are the cornerstone of a highly available, performant caching service. Future versions to be released throughout 2018 will implement further data structures such as Sets, Lists, Multimaps, Queues, Topics, and Ringbuffers. Distributed atomic structures such as Lock, Semaphore, and CountdownLatch make the Hazelcast Go Client an excellent choice for Go developers wishing to implement distributed systems for caching, compute and microservices.
Since its creation by Google in 2009, Go has evolved as a community-led open source project which has been embraced by over one million users worldwide. In the recently published 2017 Octoverse by GitHub, Go has become the #9 most popular language used on GitHub, surpassing C. As the fastest growing language on GitHub in 2017, Go enters the top 10, with 52% growth over the previous year. For Go developers, Hazelcast IMDG provides a fast, scalable, resilient data store that allows data to be easily shared between independent Go processes and other applications that might be running on different hosts.
Go has emerged as a language of choice for cloud-centric infrastructures. Today, many cloud companies have critical components of their cloud infrastructure implemented in Go including Google Cloud, AWS, Microsoft Azure, Digital Ocean and Heroku. Go is a key part of cloud companies like Alibaba, Cloudflare and Dropbox and is a critical part of open infrastructure including Kubernetes, Cloud Foundry, OpenShift, NATS, Docker, Istio, Etcd, Consul and Juju. Interestingly, many developers are finding Go a good fit for distributed networked services as its native concurrency features — goroutines and channels — are well suited for such application types.
Greg Luck, CEO of Hazelcast, said: “With the launch of Go Client for Hazelcast, access to the world’s most used In-Memory Data Grid is now available to the Go community. We will continue to add all of the powerful features of Hazelcast IMDG through the balance of 2018.”
Over the last twelve months, Hazelcast has expanded its cloud strategy to enable developers to more easily drop Hazelcast IMDG into applications on their cloud of choice. For Hazelcast IMDG users, the Go Client is a further addition to a family of client languages, joining the likes of Java, .NET, Scala, C++, Python and Node.js. All of these clients and APIs are open source and supported by Hazelcast.
The Go Client for Hazelcast is available for download on GitHub here. A Hazelcast blog has just been published which provides details on how to set-up and install Hazelcast IMDG and Go. In addition, Hazelcast is running a “Golang for Hazelcast IMDG” webinar on March 6, 08.00 PST which looks at the IMDG from the perspective of the Go programmer, to provide an understanding of how you can introduce Hazelcast into projects and the benefits it brings.