Distributed IM Service in Golang

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • JetBrains - Developer Ecosystem Survey 2022
  • rpcx

    Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for clound!

    GlideIM uses RPCX as the basis for microservices. The out-of-the - box microservice solution made me choose it. RPCX has rich functions, superior performance, integrated service discovery, and multiple routes. Scheme, and failure mode, service discovery using ETCD.

  • Glide-IM

    A high performance, distributed, open source instant messaging app, write in Go. [Moved to: https://github.com/Glide-IM/GlideIM]

    Server source code: GlideIM - GitHub

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • Glide-IM-Android

    Android app client example

    Android : Glide-IM-Android - GitHub

  • glide_ts_sdk

    Web app typescript example

    Web: Glide-IM-Web - GitHub

  • toml

    TOML parser for Golang with reflection. (by BurntSushi)

    BurntSushi / toml : This is an excellent configuration file format, which I personally prefer

  • Gin

    Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

    gin: Excellent HTTP Web Framework

  • gogoprotobuf

    [Looking for new ownership] Protocol Buffers for Go with Gadgets (by gogo)

    protobuff : Google's binary data transfer protocol

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • websocket

    A fast, well-tested and widely used WebSocket implementation for Go.

    gorilla/ websocket : The most star WebSocket library in Golang

  • go-nsq

    The official Go package for NSQ

    nsq : simple, high performance, distributed MQ

  • Redis

    Type-safe Redis client for Golang (by go-redis)

    go- redis / redis : Redis client

  • GlideIM

    分布式高性能 IM, 重构中: Glide-IM/glide

    If you cannot run the code in the IDE due to dependencies or other reasons , you can download the compiled executable in singleton mode at here.

  • nsq

    A realtime distributed messaging platform

    NSQ is a message queue implemented by Golang, and all messages are routed through NSQ. Reasons for choosing NSQ compared to other MQs: decentralized distribution (direct connection between production and consumption), low latency, No ordering, high performance, simple binary protocol.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts