2015-09-22 75 views
0

我的团队正在开发基于推送通知的基于Android和ios的实时聊天应用程序的java套接字编程。适用于Android和ios的Java套接字编程聊天室

我们已经在代码上做了很多工作并构建了它。但是在缩放应用程序之前,有几个值得回答的问题。

1)基于Java的套接字编程是否可以为十亿用户提供扩展?是制作聊天应用程序的最佳方式吗?

2)聊天室可以处理多少个邮件?可以添加大约500-1000个参与者吗?

3)这一切都取决于物理服务器(性能)和什么是费用?

如果您事先知道任何人的答案和谢谢,请帮忙。

回答

1

套接字只是一个系统,用于在客户端与服务器之间移动数据。

单个S.O.的套接字数量有一些限制。可以处理,但可以在不同节点之间进行缩放。 Java可以做到这一点没有问题。

如果您选择正确的体系结构并水平扩展,则同时处理数百万并发用户和千位用户也可能没有问题。

最大的瓶颈在于网络速度,因为处理数百万条消息可能会阻止您的网络。所以在物理上这个问题通常不是CPU,而是网络吞吐量。

要对多少同时连接一个想法,一台服务器可以处理读这article

2011年的WhatsApp实现百万建立的TCP会话中 单一机器上的内存和CPU,以备用。在2012年,推动 到超过200万tcp连接。在2013 WhatsApp的啾啾出:在 12月31日,我们有了一个新纪录的一天:7B封邮件入境,11B的出站封邮件在一天处理 = 18十亿总的消息! 2013年的快乐!

+0

谢谢你的回答,但是网络吞吐量可以通过大型服务器进行管理/缩放吗?我估计需要什么样的服务器数量,如果你能猜到的话,总体成本是多少? ....对我来说非常有帮助.. – android12

+0

不,您只能移动较少的数据或在不同节点之间分配数据。例如,为了减少聊天服务器的网络流量,像Whatsapp这样的高级聊天系统使用不同的服务器来处理图像共享和聊天。如此密集的网络流量不会减慢您的聊天。 –

+0

什么是估计我不需要服务器的大小,如果你能猜到的话,会有什么样的总体成本......对我来说这将是非常有帮助的。 – android12