Database 客户机-服务器体系结构设计

Database 客户机-服务器体系结构设计,database,architecture,client-server,Database,Architecture,Client Server,应用程序是一个客户机-服务器模型 客户端应用程序具有本地数据库,客户将在其日常事务中使用该数据库 服务器持有另一个数据库,该数据库包含来自客户端的整合信息以及其他一些关键内容 客户机和服务器需要定期进行通信:数据迁移、从服务器访问数据(客户端不可用)等 客户端或服务器都没有静态IP地址 如何确保客户端可以无缝连接到服务器 由于业务需求,将所有内容放在一个位置(例如云中或数据中心)不是一个选项。如果只有一台服务器,为什么不能有一个静态IP 它是否始终具有外部可见的IP?然后,动态DNS为您提供—服

应用程序是一个客户机-服务器模型

客户端应用程序具有本地数据库,客户将在其日常事务中使用该数据库

服务器持有另一个数据库,该数据库包含来自客户端的整合信息以及其他一些关键内容

客户机和服务器需要定期进行通信:数据迁移、从服务器访问数据(客户端不可用)等

客户端或服务器都没有静态IP地址

如何确保客户端可以无缝连接到服务器


由于业务需求,将所有内容放在一个位置(例如云中或数据中心)不是一个选项。

如果只有一台服务器,为什么不能有一个静态IP

它是否始终具有外部可见的IP?然后,动态DNS为您提供—服务器在IP地址更改时通知DNS服务器

如果它们都没有可公开访问的地址,那么您需要一个中介(代理),该中介具有。现在,这个中介要么知道数据,要么对数据进行加密

这样的中介可以是任何东西,例如XMPP服务器,其中服务器将被分配一个特定的JID,如server@mydomain,客户端将被分配到自己的ID(如,customername@mydomain),或者一些PubSub解决方案,或者它甚至可以是一个基于电子邮件的解决方案(是的,这是肮脏的),客户端和服务器都定期读取其邮箱

我想大多数ESB解决方案也可以


最重要的是,为了在internet上创建客户机-服务器体系结构,服务器(或有助于通过其自己的特定于应用程序的协议到达服务器的中介)必须是可公开访问的。

如果只有一台服务器,为什么不能有一个静态IP

它是否始终具有外部可见的IP?然后,动态DNS为您提供—服务器在IP地址更改时通知DNS服务器

如果它们都没有可公开访问的地址,那么您需要一个中介(代理),该中介具有。现在,这个中介要么知道数据,要么对数据进行加密

这样的中介可以是任何东西,例如XMPP服务器,其中服务器将被分配一个特定的JID,如server@mydomain,客户端将被分配到自己的ID(如,customername@mydomain),或者一些PubSub解决方案,或者它甚至可以是一个基于电子邮件的解决方案(是的,这是肮脏的),客户端和服务器都定期读取其邮箱

我想大多数ESB解决方案也可以


最重要的是,为了在internet上创建客户机-服务器体系结构,服务器(或有助于使用自己的特定于应用程序的协议访问服务器的中介)必须是可公开访问的。

您的要求听起来更像是P2P应用程序,而不是客户机-服务器。还有,我想知道“由于业务需求,我们不能将客户机和服务器数据库和服务放在一个位置(例如,在云中或数据中心)”背后的原因。这一要求来自只希望将数据放在其场所的客户:|(是的,不问!!!)您的需求听起来更像P2P应用程序,而不是客户端服务器。还有,我想知道“由于业务需求,我们不能将客户机和服务器数据库和服务放在一个位置(例如,在云中或数据中心)”背后的原因。这一要求来自只希望将数据放在其场所的客户:|(是的,不问!!!)我考虑过用DynDNS的方式来做这件事。不同之处在于代理服务器将位于两个对等服务器之间,并且两个对等服务器将运行一个客户端,该客户端将通知代理有关其IP的信息。当两个对等方希望通信时,他们会询问代理另一个对等方的IP地址是什么,代理将提供最新的IP。如果他们之间有某种稳定的东西,你也可以在其中建立一个双向通道,比如VPN,但这种方式的交流确实不必经过那个些东西,它只是一个名称注册。我曾想过用DynDNS的方式来做这件事。不同之处在于代理服务器将位于两个对等服务器之间,并且两个对等服务器将运行一个客户端,该客户端将通知代理有关其IP的信息。当两个对等方希望通信时,他们会询问代理另一个对等方的IP地址是什么,代理将提供最新的IP。如果他们之间有某种稳定的东西,你也可以在其中建立一个双向通道,比如VPN,但确实,这种方式的通信不必通过这些东西,它只是一个名称注册。