MCPcopy Index your code
hub / github.com/dengzii/glide-im

github.com/dengzii/glide-im @v1.4.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4.3 ↗ · + Follow
1,563 symbols 3,855 edges 210 files 120 documented · 8% updated 5d agov1.4.3 · 2022-05-05★ 3053 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Glide-IM

i

Go Report Card Reddit

README - 中文

Summary

Glide is a high-availability, high-performance instant messaging service.

Feel free to post your opinion in the issues.

Related Project

Front-End: GlideIM-Web

Android-App:GlideIM-Android

Build and Run

Env Dependencies

  • Singleton Mode
  • Redis
  • MySQL

  • Microservice Mode

  • ETCD: ./cmd/script/etcd
  • NSQ: ./cmd/script/nsq

Application Entries

The directory ./cmd/run is the program entries dir, directory names express the service or deployment mode.

  • Microservices
  • api_rpc API services
  • dispatch message delivery service
  • gateway user connection gateway
  • group the group cha messaging
  • messaging message router service
  • HTTP API
  • api_http the http server entry for api
  • Singleton
  • singleton run all features in one instance

Compile .proto

The compiled protobuf message definition files in dir: /protobuf/gen.

/protobuf/compile.sh

Run in Singleton mode

For easy debugging, most cases we just need run project singleton mode, just list debug client, or handle IM core business, the ws server, message storage etc.

go run ./cmd/run/singleton/main.go

Executable bin file

If you are feel boredom with build project, or other cases, there is a compiled binary file in singleton mode.

Releases

Performance

Single machine support about 20W (40k message throughput) active users chat simultaneously (100Mbps) , View Testing Data

System architecture

Introduce article: View Article

i

Tanks

JetBrains

License

LICENSE

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 820
Function 427
Struct 274
Interface 34
FuncType 4
TypeAlias 4

Languages

Go100%

Modules by API surface

im/dao/msgdao/msgdao.go63 symbols
protobuf/gen/pb_im/message.pb.go61 symbols
protobuf/gen/pb_rpc/group_messaging.pb.go45 symbols
protobuf/gen/pb_rpc/client.pb.go43 symbols
protobuf/gen/pb_im/ack.pb.go37 symbols
protobuf/gen/pb_rpc/nsq.pb.go35 symbols
im/api/apidep/apidep.go32 symbols
protobuf/gen/pb_rpc/dispatch.pb.go31 symbols
im/api/router/router.go31 symbols
im/client/client_manager.go26 symbols
pkg/timingwheel/timingwheel.go24 symbols
im/dao/groupdao/groupdao.go24 symbols

For agents

$ claude mcp add glide-im \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page