应用服务器托管
Posted
技术标签:
【中文标题】应用服务器托管【英文标题】:Application server hosting 【发布时间】:2017-08-22 14:07:21 【问题描述】:我正在编写一个 Qt/C++ 应用程序,并且我计划添加一个带有套接字连接的网络部分,该部分也连接到在 Qt 中实现的服务器。
如果我在本地托管服务器,则没有真正的问题。
但如果我想与某些人共享我的应用程序(客户端部分),然后确保我的服务器始终在运行,最好的方法是拥有一个远程服务器。
你能给我一些线索吗?在这种情况下,我还不清楚要遵循的步骤。
这是更好的方法吗? 我可以找到免费托管吗?非常感谢! :-)
【问题讨论】:
我已经回答了这个问题让你明白这个想法,但是我不能 100% 确定这个问题应该在 SO 上,因为它似乎是一个小的离题/太宽泛而无法正确回答. 这个问题与 Qt 本身无关,而是与如何托管它等有关。 【参考方案1】:一般有3个选项:
1.本地托管
这是在您的物理位置运行的服务器。您可以根据需要清楚地设置它,服务器会做任何您想做的事情。但一定要一直开机,没有其他工作的时候只会耗电。此外,您必须获得所有硬件(服务器组件)、运行软件(操作系统)、网络设备和连接(一些需要特殊设置的路由器 [NAT、端口转发、...]、速度和互联网连接的可达性),很可能还有一些安全设备/软件(防火墙等)。
这是基本开发和测试的最佳想法。但是一旦该服务应该为公众提供服务,那么自己运行服务器是不值得的。
2。远程托管(虚拟化或专用服务器)
这个选项是过去 20 到 30 年的首选,所有 Web developers
和 App developers
都将他们的软件放在一些准备好的服务器上。专用的是在某些提供商的位置运行的物理服务器,这些提供商向您提供硬件(可能还有一些操作系统/其他软件的许可证)。虚拟机只是一个硬件(服务器),上面有多个虚拟服务器(更多客户端在同一硬件上运行)。
由于hosting owner
正在解决网络/安全/硬件问题,这通常会带来好处。您只是在借用一些磁盘空间和计算机时间/性能。通常公司会提供整台服务器,你可以在上面设置多个服务,运行多个协议等。
Web 和单个/少数(不多)服务器应用程序实例的理想解决方案。
3.云托管
这是目前最新的技术(大约存在 10-15 年 [例如,AWS 自 2006 年开始运行,Azure 自 2010 年开始运行])。数据中心所有者(从第 2 点开始)变得更好,并在服务器上创建了一些应用程序,这些应用程序将为您完成所有工作(大部分是自动完成的)。只需点击几下,服务器就可以运行,应用程序可以部署,使用数据库引擎、网页、IOT 集线器……很多东西。好处很明显,你只需要花最少的时间来设置东西,它们就会运行。正常运行时间长(例如:99.9995%)。
专用和云之间的区别:在专用服务器上,几乎可以放置任何满足需求的操作系统,只运行您想要的服务,拥有完全的控制权。在云解决方案中,您没有那么多的“物理”控制权,而且数据更不用说存储在世界各地的数据中心中的某个地方。但通常它是更具可扩展性的解决方案,一旦您的应用被公共部门的大量用户使用,这是最好的选择。
共同意识形态:
最常见的解决方案是,当您开发时,您创建本地服务器,在该服务器上进行部署、测试和改进。一旦稳定,在云上或作为专用/虚拟机订购服务器并将其部署在那里。一些开发人员从一开始就知道他们的应用程序将在云服务上运行,因此他们订购并开始针对它进行开发,但在大多数情况下并没有必要这样做。
【讨论】:
以上是关于应用服务器托管的主要内容,如果未能解决你的问题,请参考以下文章
使用单个 Azure 应用服务托管多个应用程序/微服务都有哪些限制/缺点?
Azure 应用服务能够使用托管标识(无应用角色)调用另一个受 AAD 保护的应用服务,为啥?
无法从托管在 Websphere 应用程序服务器 v7.0 上的应用程序访问 HTTPS 服务