即时通讯工具abel
-
abel是一个基于goland实现的百万高并发及时通讯聊天工具。
阿贝尔来自英语中abel,感觉和本人很像,所以起名abel。英文中解释:诚实、可靠而且喜欢摸索新事物。 个性严谨,有责任心,情绪稳定。社交能力强,容易相处。渴望了解他人的内心世界,适合与人打交道的工作。富有爱心,家庭责任感强。处理问题较犹豫。
abel-im采用GO语言开发;底层实现技术gorilla/websocket、存储目前使用mysql(后续会改进)简单存储。采用ETCD服务注册发现;gRpc方式消息扩散;abel-im支持集群部署;自定义日志实现。
目前系统还停留在起步阶段,软件开发者对go语言理解还不够深技术水平有限。所以在阿贝尔还有很多的改进和优化地方。作为一个高性能的Im即时通讯系统来说分布式部署是至关重要,怎样能做到更好的扩容和应对紧急情况该如何处理,希望能得到网友指点。
目前消息存储是实时存储,如果高并发这种100%不行。单台机器这种长连接,连接数问题。突然间网络不稳定,客户端如何保证消息100%接收成功。
项目地址: https://github.com/kingmajun/abel-im