分类: 工具与技术 作者:victor 发布时间:2013-09-17

我们希望平台能够达到以下几个目的: 1. 响应式的体验;
2. 能支持桌面及移动设施;
3. 响应速度平均在4秒左右及以下;
4. 结构维护简单,调试方便;
5. 数据可以2、3备份,能集中闲散的存储资源;
6. 支持定时任务及队列;
7. 能支持企业网站管理、内部运管管理、商务平台;
8. 能支持企业办公虚拟;
9. 邮件利用外部的成熟系统,但内部有一个统一的收发服务器;
10. 能与打印、传真、会议、培训、条码枪等设施或需求衔接,至少可以连通或者是统一登录;
11. 消息提示;

ok,这个需求够庞大、复杂了,可能相比大规模网站来说,用户规模是远比不上,但复杂度并不差多少。有这样的现成系统吗?找了这么多看,没看到,但每一块都有一个或多个备选的对象,那我们试着来做胶水这个工作吧:
1. 响应式的体验:所有都做响应式是不现实的,局部或集中响应式体验就够了,比如待办事项、消息,用nodejs+socket来实现似乎是我们django的恰当补充,有更好的吗?
2. jquery mobile行吧?
3. 速度平均在4秒左右以及下:尽可能利用客户端进行渲染,模板用jinja2,数据库启用主从,然后再根据情况启用缓存,千兆的网络,有很多同志想这个条件要做到应该很简单,但现实是,面对复杂的逻辑、全局权限和行级权限判断后,速度要达到这个有点难;
4. 结构维护简单,调试方便:这个实际上是受限于需求,但我们有个原则,就是一定要基于Linux,哪怕有应用要跑win,我们也要在虚拟机里跑;
5. 数据可以2、3备份,可以集中闲散资源:glusterfs这个还是能比较好满足的,再结合raid1,想丢数据都难;下载可以整合ftp服务器;不过有什么办法可以把一堆算是垃圾的电脑能集中到计算平台去吗?hadoop或openstack?
6. 定时任务及队列:从celery到uwsgi,结合系统cron,最多再结合rabbitmq,似乎已经足够应付当前及未来可计的规模;
7. 网站、商务及管理平台:主要基于django进行;
8. 企业办公虚拟:proxmox是非常不错的选择,1变3-5,再结合瘦客户机,我们要3-5人在同一虚拟机上办公,不是问题;
9. 邮件:网易、腾讯、google的免费已经足够支持企业的需求,但有没有一个收发服务器,它帮干2件事就可以了,自动收、代理发,这样能保证邮件数据及稳定性;有人提到说postfix本身就支持,但问题在于代理发的时候,它是统一的用户出去的;有人说基于imap协议,只是在收上搞一个处理,可以保存到本地即可,也是这也是个办法,呵呵。
10. 与各种设施衔接:在当今技术已经不是问题;
11. 消息提示:xmpp的openfire或是socket.io都能解决,呵呵;

web方式,再加上基于Webkit的客户端,是否就满足了所有呢?噢,对,还要考虑本地数据和远程数据的同步问题,这个搞个sqllite来保存数据可以吧,考虑部分数据的本地化,比如聊天记录、草稿、邮件、通讯录、组织结构、便笺类的工具,其它就算了吧,还是走服务器端保存;

服务器每台做raid1及至少2台的集群,解决单点问题了吧,把所有网卡都bond起来,然后所有应用服务器都通过docker来解决,迁移的问题也解决了吧,嗯,再前端加Nginx或Haproxy,再前端用F5或路由映射,就这样弄哦。

如果阿里云服务器也装个docker,那会怎么样呢?把程序放到阿里云上,然后本地统一处理非数据库中的数据,是否很好呢?

然后把数据结构和流程尽可能的小粒度、模块化,便于适应企业发展过程中的调整。


转载请注明并请加上原链接或本站链接:企业信息化中的技术架构或平台的一些想法转载自Findnow阅后记网


标签: node django tech socket webkit