最近在学习go,发现还挺喜欢这个语言的,很多的语法设置都比较有意思,写起来也比较上手(安利一波,个人感觉比java轻便很多)。加上自己也是做IM的,打算使用go语言开发一套即时通信系统的后台服务。该服务需要满足如下特征:
1、支持集群,能满足扩容的需求。(之前使用openfire,这个软件单节点很稳定,基本没什么问题,但是集群,只能呵呵了。)
2、第一个版本先只支持http+websocket(毕竟这个还是比较通用的)。
3、性能方面能做到和openfire相似即可(单机4万并发吧,可能原生的openfire性能比这个好,但原生的不支持群组啊,只能自己添加插件了)
4、支持文本的单聊、群聊。
5、协议方面先参考xmpp协议吧。(虽然xml消息有些冗余,但可读性还是比较好的,方便定位问题。最主要原因是不用想了,直接用,哈哈。)
越想越多,先支持这些吧,好像还有很多的内容需要学习,先慢慢来吧。开发的能用了的话,会在github上开源,希望自己能坚持下来吧,加油。
立了flag不一定能完成,但不立肯定完不成。