分享

用Netty实现一个无限扩展的IM服务(第1回先吹个牛逼)

 liang1234_ 2019-02-21

    很多年前,我不懂技术,我在论坛上问,怎么用代码做一个东西玩玩,一大堆牛逼人士告诉我,先学算法,先学数据结构,先学计算机原理......甚至有的说,先学点汇编。

    同样是受九年义务教育,真的不知道为什么这些人那么优秀!

    今天,我想用Netty做个IM服务器,由于这个IM服务并没有那么优秀,所以就不需要提前了解什么数据结构,不需要提前学汇编,但要写一点儿代码(如果真的需要其它什么的,在做的过程中学就可以了,learning by doing),然后把模块堆起来,性能嘛,也没有多牛逼,我希望可以满足如下的性能就行:

1. 无限扩展。

2.  容易扩展,这个概念跟上面的是不一样的。容易扩展的意思就是,扩展的时候,业务的兄弟不用太担心,运维的兄弟不用太操心。

3. 稳定,耐操。(意思是这个系统别轻易挂,长连接为主的系统,句柄多,确实不容易,一不留神机器就僵死了。但是,我也不是没有人性的人,对机器也不苛刻,机器嘛,有时候挂一挂可以,但挂了得拍拍胸脯赶快起来,当然,这就需要额外的监控系统了)

4. 性能是每台机器(4CPU,8G内存,10M带宽)可以承受60万长连接的用户,如果不行呢?不行就通过系统参数以及代码优化到他行,难道不行我就去先学汇编吗?这不科学啊。

    这个东西,我当做一个开源来做,但是,跟一般的开源不一样,一般的开源就是自己做完了,把源代码扔给别人看,我这个开源,有点不一样,因为不止代码,我会把所有的设计思路到代码到部署监控脚本都全部呈现出来。

    服务器端的所有一切,最后会汇总成一个包和一个shell脚本,一键安装。

    对于客户端的代码,我会直接做成SDK,或者说,懒惰的人,拿着服务器端的包去服务器跑一跑,再在客户端直接引用SDK,再加上一块皮肤,一个牛逼哄哄的IM就出来了。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多