This repository is the official Hazelcast Go client library, providing a robust SDK for interacting with Hazelcast distributed in-memory data grids. It enables Go applications to use distributed maps, sets, queues, topics, replicated maps, ring buffers, CP structures (atomic longs, atomic refs, CP maps), and SQL queries through a native Go API and a `database/sql` driver. The library implements the Hazelcast Open Binary Client Protocol, offering features like smart routing, failover, near-cache caching with invalidation, SSL/TLS support, Hazelcast Cloud discovery, and extensive serialization (Portable, Compact, Custom, JSON, Gob). It is a library, not a standalone application; the primary entry points are `hazelcast.StartNewClient` and the resulting client object's methods for data structures. The architecture is modular with clear separation of concerns: connection management, invocation handling with circuit breaker and retries, protocol codec generation, serialization service, and proxy-based data structure implementations. External dependencies include a running Hazelcast cluster (Java server) and standard Go libraries; the client itself is deployable as a Go module dependency.
Wildfire Chat IM Server is a production-grade instant messaging backend built on a heavily customized Moquette MQTT broker. It provides MQTT-based client connectivity, HTTP REST APIs for admin/robot/channel management, and supports features like private/group/chatroom/channel messaging, file/media storage (local or Qiniu), push notifications, sensitive word filtering, conference/voice-video events, social moments, and multi-domain mesh federation. The architecture is a multi-module Maven project (broker, common, sdk, distribution) using Netty for networking, Hazelcast for distributed caching, and MySQL/H2 with Flyway migrations for persistence. The codebase demonstrates solid engineering with annotation-driven routing, protobuf message serialization, and a clean SDK for server-side integration. However, it suffers from a god-class in MemoryMessagesStore, duplicated configurations, vendored Netty MQTT codec, and some security concerns (hardcoded keys, weak XOR encryption). It is actively maintained with frequent schema migrations and feature additions, but the licensing is ambiguous (multiple license files) and documentation is primarily in Chinese.