关于中间服务器获取数据方案

静坐的时光丶 发布于 2018/03/29 09:25
阅读 305
收藏 0

1.有一台前置服务器知道IP:192.168.1.100 ,下面的不知道IP的内网服务器都可以访问到这台。中间服务器无法访问到后面的数据库。

2.现在外网想查询SQL语句(webservice||socket)通过前置服务器,查询到后面数据库里的内容需要怎么办?

3.自己的初步想法是通过类式HP-Socket通信框架,在前置服务器放一个服务端、各不知道IP的内网服务器放客户端、客户端连接数据库同时连接前置服务器服务端。然后外网的SQL通过socket向前置服务器服务端申请、服务端再想下面的客户端申请,在返回数据。其中要考虑的问题怎么保证SQL申请和返回的一一对应、多查询的时候混乱。

4.有什么其他更好的方案保证稳定性、实时性。

加载中
0
头号大宝贝
头号大宝贝

为什么不是通过暴漏数据API的形式访问数据?非要执行SQL?

静坐的时光丶
静坐的时光丶
前置服务器没办法访问到数据库的。
0
伤神小怪兽
伤神小怪兽

HP-Socket当然可以实现。前置服务器通过ConnextionExtra自动维护外网与内网的Connection ID之间的对应关系。

话说回来,你这个架构有点怪,为什么直接传递sql而不是调用接口?把前置服务器看作反向代理,HP-Socket客户端改为后端服务器似乎更好。

伤神小怪兽
伤神小怪兽
回复 @静坐的时光丶 : 有多复杂?不就是返回码和返回结果集吗???
静坐的时光丶
静坐的时光丶
我做过这样一个DEMO,在前置服务器放置HP服务器。下面点电脑上都是HP客户端连接到HP服务端保持连接有ID在了。 然后HP服务端根据ID去发送请求给HP客户端,HP客户端取数据库取回数据给服务端。单句SQL是可以的、然后为了解决多个查询做了报文。感觉好复杂。
静坐的时光丶
静坐的时光丶
我不是很明白你说的。我的难点就是前置服务器是不知道后面电脑的IP的。后面的电脑是可以通过前置的IP连接到前置服务器的HP的服务端的。 假如后面的电脑改成了HP的服务端那前置服务器怎么连接到后面的电脑呢因为不知道他们的IP
0
伤神小怪兽
伤神小怪兽

引用来自“伤神小怪兽”的评论

HP-Socket当然可以实现。前置服务器通过ConnextionExtra自动维护外网与内网的Connection ID之间的对应关系。

话说回来,你这个架构有点怪,为什么直接传递sql而不是调用接口?把前置服务器看作反向代理,HP-Socket客户端改为后端服务器似乎更好。

你也可以把业务逻辑放到前端,后端看作是一个数据访问池

静坐的时光丶
静坐的时光丶
外网访问前置服务器不一定是SQL、可能是webservice的形式调取业务。 但是怎么做到前置服务器通过客户端,再客户端读取数据库,返回给前置服务器。前置服务器再返给调用的人。多个人查询时候怎么办
0
临风ivy
临风ivy

楼主的难点是 在不知道服务端IP的前提下 如何消费服务端的服务。不知道楼主可了解Dubbo,服务端向注册中心注册自己的服务,那么服务端会将自己的服务暴露在外,这样客户端就能调用了。楼主可以参考dubbo来解决这个问题。

0
伤神小怪兽
伤神小怪兽

引用来自“伤神小怪兽”的评论

HP-Socket当然可以实现。前置服务器通过ConnextionExtra自动维护外网与内网的Connection ID之间的对应关系。

话说回来,你这个架构有点怪,为什么直接传递sql而不是调用接口?把前置服务器看作反向代理,HP-Socket客户端改为后端服务器似乎更好。

引用来自“伤神小怪兽”的评论

你也可以把业务逻辑放到前端,后端看作是一个数据访问池

每人有自己的连接,跟多少人没关系。

返回顶部
顶部