缘起termtalk

  一切起源于我对蘑菇街termtalk开源IM系统源代码的好奇,termtalk简称tt。无论如何,都应该先向tt致敬,开源实属不易。看了一些分析tt架构的文章,感觉还不错,说是能支持高并发高可用的。听说有一些公司也借用了该开源代码做产品,那tt应该还是不错的。但是正等我去打开tt服务端源码向学习一下的时候,感觉代码中不尽如意的地方不少了。看得不算仔细,但是架构中单点服务的位置太多了,例如route server只有一个,im客户端发的每一个消息都会广播到所有的msg server而不是目标用户的msg server,这些都对整个系统有严重负面影响。

再造一个新的IM

 再造一个im,这是一个重复造轮子的过程。想凭一己之力超越腾讯qq的那是不现实的,但是弄出一个轻量级多端im这个可以有。我主要基于如下理由开展这一项目:

  • 国外有很多好的开源im,国内目前似乎没有(有的告诉我一下),tt算不错,但是问题还很多。
  • 平时多在windows平台开发,接触其他平台(特别是linux)的机会不多,趁此机会练手。
  • 深入实践架构设计。

命名为ImFire的IM

  名字并不重要,正所谓“不看广告看疗效"。目前,这个项目还是在很初级的阶段,在之后的随笔中,我将陆续分享我在开发Imfire中的需求设计,架构设计,具体实现,和碰到的各种问题。望大家共同见证。

   

最新文章

  1. TCP/IP——链路层
  2. ASP.NET MVC随想录——锋利的KATANA
  3. CURL命令详解
  4. Ember.js入门教程、博文汇总
  5. #include <cstdio>
  6. Java从零开始学四十五(Socket编程基础)
  7. LightOJ1201 A Perfect Murder(树形DP)
  8. 【转】.NET开发者必备的11款免费工具
  9. y combinator 做的一个调查_可以学习一下
  10. python中实现多线程的几种方式
  11. sshd服务---暴力破解应对策略
  12. 采用malloc分别分配2KB个人空间,然后,realloc调整到6KB、1MB、3MB、10MB场地,分别这五内存“A”、“B”、“C”、“D”、“E”灌装
  13. UNIX基础--用户和基本账户管理
  14. 存储linux RAID6被重建成RAID5的数据恢复解决方案
  15. 解读Batch Normalization
  16. 1094 和为k的连续区间(暴力)
  17. 记录一个elasticsearch 的索引templates
  18. ehcache缓存配置与参数说明
  19. P1164小A点菜
  20. ovs QOS

热门文章

  1. Google Chrome调试js入门
  2. 生成模型(Generative Model)与判别模型(Discriminative Model)
  3. SharedPreferences.Editor 的apply()与commit()方法的区别
  4. C#设计模式-享元模式
  5. Nginx重写
  6. 阿里云centos7搭建wordpress环境
  7. python发送邮件及附件
  8. 自用迷你版的Deferred
  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册
  10. 【开源】OSharp3.0框架解说系列(6.2):操作日志与数据日志