全天候运行java服务器应用程序,以及所有那些著名的在线实时应用程序背后的秘密



我目前正在构建一个关于VOIP/随机聊天的应用程序,它类似于skype或chatgoullet。我的问题是这个的扩展

https://stackoverflow.com/questions/11384155/running-java-server-application-24-7-not-on-local-machine

我一直在尝试使用TCP/UDP套接字,现在我有能力构建VOIP/即时聊天应用程序。但正如您可能已经知道的,为了在客户端到客户端或客户端到服务器之间进行数据传输,服务器应用程序必须打开电源(换句话说,是在线的),并且可以由客户端应用程序访问。问题是,我不是一个人生活,而是和家人住在一起,我不能简单地用我的一台电脑全天候运行我的服务器应用程序,主要是因为电费和我对网络知识的缺乏,这让我担心安全性,因为我必须在当前路由器上进行一些配置/端口转发,以便使本地网络之外的其他用户可以访问该协议。所以我最大的问题是,人们或开发人员通常是如何处理这种情况的?他们是否只是简单地使用自己的计算机来运行服务器应用程序?或者他们是否购买了一台外部机器来运行服务器应用程序

==============================================

附加问题:

TCP/UDP套接字是制作MMO、VOIP和即时聊天程序等应用程序的唯一方法吗?

我看到您的主题在上一个线程中已经结束。我认为这样的问题与斯塔克佛罗无关。

但是,我想让您一窥我们大多数拥有/制造Java Web应用程序的人的遭遇。我曾经在数据中心工作了一年半。Java应用程序有点难以上线,因为它们需要没有多少数据中心愿意投入时间和支持的资源。除此之外,它们几乎和普通的PHP应用程序一样简单。

您将需要标准选项,如ColocationDedicated ServerVPSCloud Virtual Machineshared tomcat/application server主机。

Colocation是您将自己购买和配置的服务器与数据中心放在一起的地方,您对服务器拥有完全所有权,除非您自己允许,否则任何人都不能触摸它。您付费将服务器放入数据中心,并负责服务器内发生的任何事情,包括操作系统补丁。

数据中心中的服务器(由于大小限制)通常采用机架单元。1U指的是1个机架空间,通常相当于一台PC,尽管服务器的功能要强大得多。在新加坡,每U的费用为200新加坡元。

Dedicated server是从数据中心租用服务器的地方。服务器由数据中心管理,可以随心所欲地强大。操作系统更新、安装和服务保证由数据中心提供。

VPS只拥有服务器资源的一小部分,但在大多数情况下,您没有对服务器的"根"访问权限,这是一个很大的挑战。

Cloud是整个操作系统的虚拟化。如果这是Linux,你将拥有对它的root访问权限。由于它的可扩展性,我们中的许多人现在都选择了这个选项。一些数据中心可能使用流行的虚拟化管理程序,如VMware ESXi、Microsoft Hyper V.

上面的列表是从最贵到最低的。当然,这取决于您的位置和服务提供商。

我认识的几乎没有人试图在家里安装运行中的服务器,这本身就是一种火灾隐患,你不知道什么时候你的电会被切断,标准的专用带宽也同样昂贵。

在我看来,用数据中心托管会更具成本效益和安全性。

编辑:TCP/UDP套接字是制作MMO、VOIP和即时聊天程序等应用程序的唯一方法吗?

你看过HTML5WebSockets,或者任何基于AJAX的框架吗?

尝试在web上搜索云托管。例如,Heroku、AWS和许多其他公司提供托管服务。这就是人们用来托管服务的地方,它比自己维护更具成本效益。

你也在为它编写安卓应用程序吗?顺便说一句,你可能想利用这个ARO工具来确保你有效地使用网络。http://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312

最新更新