"爱说说"技术原理方案的定选思考过程(一)

2年前 (2022) 程序员胖胖胖虎阿
229 0 0

 

最近花了三天,写了秋色园的另一个频道,“爱说说”频道:http://speak.cyqdata.com/

 

今天把“爱说说”的起源及技术方案的选型过程及想法给大伙说说

 

一:爱说说是什么?

说白了也没什么什么,可以说是微博、闪存、聊天室,什么都可以说。

 

二:爱说说的起源?

说要写“爱说说”,最直白的冲动是在博客园闪存闪多了,突然也闪出这么个名词,所以打算随意的折腾一下,于是就出来了。

 

三:爱说说的技术方案

 

1:回想往惜做过类似的:

1:在校的时候学习,都学着用Application来存聊天室的内容。

2:刚工作的时候,学到了内存表DataTable来存聊天室的内容。

3:工作有点久的时候,写一个webim[设计人员设计了和msn一样的界面],同样有群的功能,技术方案是内存表DataTable+数据库存储的方案。

 

博客园的闪存技术方案:

猜的:也许可能大概:是利用json+webservice+数据库的方案

 

2:爱说说的技术方案:

 

秋色园爱说说的技术方案[开始的方案]:

随着秋色园的向前优化,CYQ.Data不断的升级,MDataTable不断的优化。

于是很容易定位了一下爱说说的技术方案:

内存表MDataTable+XML

理由:

没什么特别,因为最近给CYQ.Data的MDataTable增加了WriteXml和ReadXml功能,

想着刚好能应用上。

 

秋色园爱说说的技术方案[现在的方案]:

在秋式开源团队里说了一下技术方案,有人不小说到了文本这个词,让我想起了另一种方案:内存表MDataTable+json+TXT

理由:

CYQ.Data.Table下的MDataTable对Json的支持是比较稳定的,刚好可以优化及增加一下其它功能,比如说MDataTable的Select功能。
再者不成熟的想了一下,秋色园用Access,二级域名不也能太高级,用TXT比较有创意一些。

 

3:方案的说法

用TXT文本来来当存储介质,这是一个比较有创意的想法,当然有很多人似乎要否定TXT,甚者有人说:“从前,有个PHP的论坛,用的是TXT做为数据库,后来它消失了”。

如果让我做论坛,我也不会选TXT做为存储介质,原因当然是论坛和“爱说说”是不一样的。

 

爱说说本身并没有多复杂的逻辑,也不会并生多大的数据量,说什么微博数据量大,你不是新浪腾讯或是搜狐的,瞎扯上这么高级别的数据量了,不现实,

再说数据量这么大,肯定是有米的,有米的都喜欢自己写一套的,写多几套也不是问题。

 

事实上,我看了一下博客园,平均一天就闪1000条,我用TXT测试到1万条,读取仍然很快。

所以完全不用担心,上升到2万3万10万呢,你说呢?

 

4:为啥不用Sqlite,好多人说用这个

简单想了一下,当初秋色园Access才并发了几十个写操作,就挂了,[大石头]传说[Access25个并发最多],SQLite在写这方面,也不太乐观,所以不考虑,为啥不考虑?

 

一开始的考虑本意是这样的:用户说过来的消息,然后集中到内存中,再定时的写数据。

 

后来想了想,不靠谱,因为内存回收是常有的事,不是数据得经常性的丢么,说句有的没的,大伙说的也没劲。

 

所以数据还是需要时时写的,所以用这种小型数据库没法支持这么大的并发写数据问题,所以,好像大伙都懂了。

 

于是用TXT文本,用Ajax循环发送1000条请求写数据,发现很安稳,安心了。

 

5:用TXT肯定是会遇到一些技术问题的

这些技术问题,这本不说先,下一篇为大伙解析,欢迎大伙留言爱说说。

 

四:爱说说的前台界面的设想

1:需要前端再设计,当前的界面是我瞎折腾的,不太成型,重新设计是必然。

2:JS前端,本人JS能力不及,兼容不了多浏览器,待再找个高手重写一下。

3:咋不用JQ?好多人问我:一是JQ的包大了点,二是比较重要的,我不会JQ,汗一个。

4:功能:还少很多,比如注册用户,及相关的查询,按日期的显示,“更多”的查询等。

5:目前js写的比较差,有时候会卡,这个得赶紧优化下。

 

最后本节就先写到这了,欢迎大伙乱弹弹。

相关文章

暂无评论

暂无评论...