Code Bye

关于C/S,B/S架构问题

纯技术讨论。
假设本人有个系统,既有C/S架构,也有B/S的架构。
C/S架构的客户端是一个通讯的程序,安装在PC上,PC同时与一些嵌入式设备连接,通讯方式采用TCP/IP或是UDP协议,主要目的就是为了获取嵌入式设备上的信息,然后将信息存入数据库。
B/S架构主要是用于在网页上实时呈现嵌入式设备的信息。通常B/S架构都有应用服务器,例如tomcat等,处理用户请求,与数据库交互。
目前C/S架构的客户端是直接与数据库交互的,是两层的C/S架构。想问,可不可以在这两层架构中加入应用服务器,这个应用服务器即可处理C/S架构客户端的信息,也可以当作B/S的应用服务器,能否这个应用服务器仍然可用他tomcat还是需要本人开发?
解决方案

10

这样有什么好处呢?就算能实现,性能反而会下降吧

10

这样做当然可以了,而且现在很多系统就是这么做的。
直接提供网页访问的基于B/S架构来做。
应用服务器除了提供http-web服务之外,也可以提供其它接口啊。例如webservice,http+json,http+xml等等
或除了提供http-web服务以外,还开放一个socket网络服务,这都可以啊。
有很多种方法来解决你的这个问题。
其实这种已经不是单纯的C/S架构了,我们可以叫C/S/S架构。

20

引用:
Quote: 引用:

这样有什么好处呢?就算能实现,性能反而会下降吧

本人想这样做的想法是想减少数据库的交互啊,例如C/S下,客户端每秒都要从嵌入式设备中获取信息后,将每秒的数据要存入数据库,B/S下,浏览器端每秒或是每半分钟请求一次查询,从数据库获取数据,假如有这样一个应用服务器,就可以减少数据库的交互啊,对于浏览器的请求直接从应用服务器中获取数据而不用每次都从数据库中获取数据。

听起来像是一个服务器缓存。
B/S 同样可以用各种缓存手段来达到同样的效果哈。

10

引用:
Quote: 引用:

这样有什么好处呢?就算能实现,性能反而会下降吧

本人想这样做的想法是想减少数据库的交互啊,例如C/S下,客户端每秒都要从嵌入式设备中获取信息后,将每秒的数据要存入数据库,B/S下,浏览器端每秒或是每半分钟请求一次查询,从数据库获取数据,假如有这样一个应用服务器,就可以减少数据库的交互啊,对于浏览器的请求直接从应用服务器中获取数据而不用每次都从数据库中获取数据。

看数据的数量级了,小规模数据库抗的住,而且可以使用内存表或其他内存缓存进行数据缓存。大规模的话,接入服务器,缓存服务,数据存储服务(数据库),web服务,还是要分开做

50

可以这样做,而且推荐这样做,应用服务器,实际上冲动的就是服务层,以服务的形式提供给终端使用,无论你是PC还是其他设备,只要服务端提供满足通讯协议的接口即可

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于C/S,B/S架构问题