Giter Site home page Giter Site logo

quick-know's Introduction

Quick-Know

QK is a High Available push server cluster

Features

  • Support push private message
  • Support subscription message group
  • Support a key multi subscription
  • Failover support (Etcd)

What can qk help you ?

  • quick to set a push system to the mobile phone or destop
  • quick to set a IM systerm

Document

中文文档

Contact me

http:// yim.so

quick-know's People

Contributors

alienero avatar bryant1410 avatar

Stargazers

GITSRC avatar yifanes avatar ik5 avatar SonWa avatar cody avatar  avatar  avatar tesang avatar meission avatar iching avatar  avatar jeky avatar wifibaby4u avatar  avatar GarField avatar  avatar bjdgyc avatar  avatar roys avatar Hardy avatar panenming avatar Ria avatar molon avatar hawk.hsieh avatar shawn avatar lchjczw avatar 何晶 avatar  avatar likun123687 avatar 吴题 avatar Micro avatar  avatar Heng Du avatar 仇柯人 avatar Nadeshiko Manju avatar alick avatar yuman avatar 子一 avatar  avatar  avatar 邹彬 avatar  avatar 谢权 avatar Charlie Zheng avatar 任洋 avatar tianxin avatar sharper avatar zhoudianyou avatar  avatar wenwuhan avatar elvin avatar XiongChuanLiang avatar 吴春鹏 avatar JackCheng avatar JucsinSun avatar Applee avatar  avatar Aakriti Shroff avatar Vicever avatar Zhaodong Xie avatar 13meimei avatar yjp avatar  avatar  avatar 爱吃猫粮的鱼 avatar Luke Tang avatar zbyufei avatar  avatar Johnny avatar  avatar King avatar Wei Cao avatar Zach Badgett avatar 李鑫 avatar smalldragonluo avatar tommypan 潘豪 avatar Henson Lu avatar sh avatar

Watchers

sharper avatar Luke Tang avatar Johnny avatar James Cloos avatar  avatar Priyabrata Dash avatar JackCheng avatar  avatar Micro avatar  avatar yjp avatar  avatar ming avatar  avatar  avatar smalldragonluo avatar alick avatar iwant avatar lchjczw avatar panenming avatar

quick-know's Issues

碉堡

66666666666666666666666666

TODO:

  • share comet's listen addr
  • comet use redis package insead of comet's native
  • web :push msg using first check redis' records,than rpc comet.

Test

[feature] test client serer 正确性
[feature] test db logic
[feature] finish the config

MD5

Client密码保存应散列加密

独立Comet中的Msg模块,并以Redis作为在线状态存储实现Comet的集群化

- comet离线之后,在存储在线消息时,存在数据丢失未清除通道内的数据。
- 优化离线消息的ID:在DB取出之后再计算离线消息ID。
- 实现htttp API操作的锁机制:在登录之后用http进行消息推送会出现消息遗漏,以Redis代替Map实现分布式锁机制。
- 可能存在这样的问题:在Redis中有信息存在,但控制这个信息的Server崩溃,那么将有可能造成该信息的永久存在活死锁。

α0.1即将发布

  • 添加keeper节点
  • 添加配置文件中对负载均衡的多种选择
  • 使用Etcd对store进行分享
  • 构建快速部署工具
  • 对命令行工具进行完善

todo list

  • [feature] finish the web restful API
  • [feature] a better way to config
  • [feature] finish the client API
  • [feature] find a good way to using cache layout to cache the message
  • [feature] find a better way to test the code
  • [feature] using the goconvey to test the code
  • [feature] cache the object, using sync.Pool
  • [feature] Decoupling the web control the comet , ready for the cluster

^ _ ^ Get the more than 20 stars

添加用户操作同步机制

缺乏同步的控制:正在删除一个用户ID的时候,可能会发生此ID还可以继续发送消息或是其他动作

feature

添加用户 (done)
删除用户 (done)
建立订阅组 (done)
添加订阅组人数 (done)
删除订阅组人 (done)
删除订阅组 (done)
广播消息(done)
私信推送 (done)
发布订阅信息内容(done)

Redis 维护缓存
若有添加存档数据库,删除缓存
读取Redis,若无取自DB,加入缓存

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.