随笔分类 - delphi datasnap 中间件
delphi datasnap 中间件
摘要:对于实时采集数据的项目,应用场景比如是这样的:5000客户端,每个客户端每隔500MS要给服务器上传一次数据。大家知道,像INDY这种阻塞型的通信控件,所能支持的TCP长连接的一般地不能超过1000的数量(如果想要维持稳定运行的话)。原因是大家都晓得的,阻塞方式会为每一个SOCKET连接创建一个新的...
阅读全文
摘要:默认情况下,一个线程的栈要预留1M的内存空间而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小。你也可以通过连接时修改默认栈大小,将其改的比较小,这样就可以多开一些线程。如将默认栈的大小改成512K,这样理...
阅读全文
摘要:传统的C/S管理软件将走向何方?基于互联网的平台化应该是个趋势。现在,网络无处不在,INTERNET无处不在。丰富的前端:PC机,移动设备。。。。。。产生客户必然的要求:不论何时、何地都要能使用管理软件,查看营业报表。。。。。。管理软件必须要符合这种时代的需要,才能生存。、至于程序是C/S还是B/S...
阅读全文
摘要:平台意味着整个系统可以持续扩展,不限定客户数量。如果可能,一切皆缓存,变直接操作数据为间接。所有客户的数据通过上传服务程序上传到平台服务器的指定目录中以文件的方式存储,平台服务器上跑一个程序自动将这些文件保存进数据库中。平台服务器上跑一个程序在客户停止营业的时段为所有的客户生成.html网页形式的报...
阅读全文
摘要:硬件永远比开发者和有效率的代码便宜。可能的话,缓存一切所有数据库都建立在SSD之上,这样可以获得0延时。尽可能最小化建立,程序可以工作才是重点。基于木桶效应,速度肯定受限于某个短板,现有的云服务基本上都存在容量和性能限制。达到同样的性能,使用云的成本将远远高于自建数据中心。什么好用用什么,不要做无必...
阅读全文
摘要:通信协议制定以后也可能会修正,继而推出后续版本,这样就可能导致多个版本的通信协议存在。不同的客户端可能实现的是不同版本的通信协议。但服务端程序却只有一个,它如何同时支持客户端多个版本的通信协议?都能正确解析不同协议里面的数据?应该定义多个版本通信协议的数据封包格式,服务端按照不同的版本使用不同的数据...
阅读全文
摘要:提供DELPHI中间件及中间件集群。
阅读全文
摘要:idhttp.get方式调用,这种比较简单,大家都会。post方式网上却没有任何成功的代码,本人也是摸索了一个上午才搞定。分享给大家。(1)post方式调用的远程方法,方法名必须加“update”前缀,不加行不?你试下啦。function TServerMethods1.updateecho(con...
阅读全文
摘要:原来写的池子过于复杂,功能看似很全面,其实很没有效率可言,实际中也抵消掉了用池的效能方面的增长。拿原来的数据连接池来说吧,空闲的,占用的对象都在池中,对象一多,遍历的时候要判断是否空闲对象,其实是挺费时的。另外还有定时遍历池的机制,对象空闲超过预定时间的释放掉。在看了DATASNAP的线程池后,特别...
阅读全文
摘要:开发中间件的许多同仁,他们首先考虑的第一个问题就是中间件要能支持高并发。他们典型的口述:有一个项目,有3000个客户端,DATASNAP能不能支持这么多并发?3000个客户端并不代表就有3000个并发,打个比方,有一个叫做A群的QQ群,其成员数量上限是3000人,实际当中我们可以发现:(1)几乎没有...
阅读全文
摘要:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, ...
阅读全文
摘要:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, ...
阅读全文
摘要:简约而不简单。世间万物本来很简单,只是人想得多了便越变越复杂了。万象,只不过是简单和复杂之分。是简单好还是复杂好?不同的人的回答是不一样的。从大多数人对现代社会的体验来看,人生中还是应多学会些简单。学会简单,就要多些本色回归。不追逐华而不实。丰足而不奢华,惬意而不张扬,还原事物的本色。简单本身就是一...
阅读全文
摘要:以前使用过BDE、ADO、DBX等数据引擎,后来发现它们都没有UNIDAC好用, 所以在很长的一段时间内中间件都使用UNIDAC作为数据引擎。 偶然的机会,使用了DELPHI XE5自带的FIREDAC数据引擎,在开发了几个项目以后 发现它完全可以同UNIDAC相媲美,但UNIDAC购买费用是几万美
阅读全文
摘要:传统的做法,一个分布式业务系统就有一个中间件,一个中间件需要使用至少一个固定公网IP,这样的话,多个业务系统就需要使用多个固定公网IP。大家知道,固定公网IP价格可是不菲的。能不能让多个分布式业务系统共享使用一个固定公网IP?答案是肯定的:能。多个分布式的业务系统共享一个中间件,这个中间件供各分布式...
阅读全文