最近在看一些关于如何编写一些自己的高性能高可扩展的网络程序,如何借鉴mina、netty、webbit等优秀的开源作品,在了解这些之前,如果对此有一个比较直观的认识,或者说一些可运行的DEMO,我相信会事半功倍。学习当中发现下面这两个作品有很多可以借鉴的地方,这个网络框架也是Iteye的一个博主的作品,详见
http://missian.iteye.com/,还有一个很相似的框架:http://dragonsoar.iteye.com/。
我们暂且不去讨论这些作品代码如何优雅,只是想从中学习到一些基本思想,如何在已有的开源项目里加以扩展,让之更适合开发者去使用,符合自己的使用习惯,使用场景,我相信那也是一种挑战,如何编写自己的网络协议等,还啰嗦下,最近也看了不少这些基于事件或者高性能的异步网络编程框架,最终总有些不能抓住其中精要,所以决定还是静下心来好好与大家分享下,并基于做一些实践和练习,那就从missian这个小作品开始吧。
学习这些开源的东西,可以先了解下作品的基本框架与架构,这个框架能够做什么?适合那些场景?利用了哪些技术?这些在看源代码时才不会迷失,然后可结合单元测试或者Demo跑跑,一步一步debug下,搞清楚整理的流程,多问自己为什么?比如在missian作品中client如何获取服务端的bean?我相信只有这样,你方能领会到作者的意图与构想,当然,如果你以前有精通类似的框架的大牛,这些可能并不适合你,但对于还没这样高度的coder,我相信这些还是适合你的,切忌在没有高度掌握这些知识,这些思想,这些理念,就一头砸到源代码堆里,换乱地瞎看,这只会耽误阁下的时间,结果脑海里尽是一些代码的碎片,毫无头绪,可能单个类你能知道是在干什么,但一堆堆的代码还是让你理不清,在接下来的文章里,我会一步步来学习,不能浮躁了。