我正在构建一个Web应用程序__CODE__
.我选择的原因__CODE__
是:
__CODE__
并觉得这是一种长期的语言,而对于__CODE__
我不确定,__CODE__
似乎是一个很难学的麻烦.__CODE__
.__CODE__
如果我将来选择这样做,我知道迁移会更容易.__CODE__
"很好".现在我正在考虑发表我的作品,我开始关注规模.我发现的关于扩展能力的唯一信息__CODE__
是由__CODE__
团队提供的(我没有说什么可以忽视它们,但这显然不是客观信息......).
我的问题:
__CODE__
今天建立的"最大"网站?(我主要通过用户流量测量大小)__CODE__
处理10万用户,每次访问网站几个小时?__CODE__
可以在Django上运行吗?我遇到过许多NoSQL数据库和SQL数据库.有各种参数来衡量这些数据库的优缺点,可扩展性就是其中之一.水平和垂直缩放这些数据库有什么区别?
我最近阅读了关于SQLite vs MySQL的这个问题,答案指出SQLite不能很好地扩展,官方网站排序也证实了这一点.
SQLite的可扩展性如何?它的最大限制是什么?
我正处于编写新的Windows服务应用程序的设计阶段,该应用程序接受长连接的TCP/IP连接(即,这不像HTTP,其中有许多短连接,而是客户端连接并保持连接数小时或数天或甚至几周).
我正在寻找设计网络架构的最佳方法的想法.我将需要为该服务启动至少一个线程.我正在考虑使用Asynch API(BeginRecieve等),因为我不知道在任何给定时间(可能是数百个)我将连接多少客户端.我绝对不想为每个连接启动一个线程.
数据将主要从我的服务器流向客户端,但有时会从客户端发送一些命令.这主要是一个监控应用程序,我的服务器定期向客户端发送状态数据.
有关尽可能扩展的最佳方法的任何建议吗?基本工作流程 谢谢.
编辑:要明确,我正在寻找基于.net的解决方案(如果可能,C#,但任何.net语言都可以)
BOUNTY注意:要获得赏金,我希望不仅仅是一个简单的答案.我需要一个解决方案的工作示例,作为指向我可以下载的内容的指针或在线的简短示例.它必须是基于.net和Windows(任何.net语言都可以接受)
编辑:我要感谢所有给出好答案的人.不幸的是,我只能接受一个,我选择接受更为人熟知的Begin/End方法.Esac的解决方案可能会更好,但它仍然足够新,我不确定它将如何运作.
我已经提出了我认为很好的所有答案,我希望我能为你们做更多的事情.再次感谢.
对于包含动态内容和个性化的复杂Web应用程序,服务器的响应时间是多少(因此排除网络延迟和浏览器呈现时间)?我正在考虑Facebook,亚马逊,MyYahoo等网站.一个相关的问题是后端服务的响应时间是多少?
您是否了解如何设计SQL解决方案?
除了基本的语言语法,我正在寻找帮助我理解的东西:
问题:
WebRTC为我们提供点对点视频/音频连接.它非常适合p2p通话,环聊.但是广播怎么样(一对多,例如,1到10000)?
假设我们有一个广播员"B"和两个参加者"A1","A2".当然它似乎是可以解决的:我们只用B连接B,然后用A2连接B. 因此B将视频/音频流直接发送到A1,将另一个流发送到A2.B发送两次流.
现在让我们想象有10000名与会者:A1,A2,...,A10000.这意味着B必须发送10000个流.每个流约为40KB/s,这意味着B需要400MB/s的外出网速来维持这种广播.不能接受的.
原始问题(已废除)
是否有可能以某种方式解决这个问题,所以B只在某个服务器上发送一个流,而与会者只是从这个服务器中提取这个流?是的,这意味着此服务器上的传出速度必须很高,但我可以保持它.
或者这可能意味着毁掉WebRTC的想法?
笔记
根据最终客户的不良用户体验,Flash无法满足我的需求.
解决方案(不是真的)
26.05.2015 - 目前没有针对WebRTC的可扩展广播的解决方案,您根本不使用媒体服务器.市场上有服务器端解决方案以及混合(p2p +服务器端,具体取决于不同的条件).
虽然有一些有前途的技术,如https://github.com/muaz-khan/WebRTC-Scalable-Broadcast,但他们需要回答这些可能的问题:延迟,整体网络连接稳定性,可扩展性公式(它们不是无限可扩展的).
几点建议
在第四层数据库的三层架构中,有什么意义scaling horizontally
和scaling vertically
意思?
我所阅读和体验过的所有东西(基于Tornado的应用程序)都让我相信ePoll是基于Select和Poll的网络的自然替代品,特别是对于Twisted.这让我变得偏执,对于更好的技术或方法而言,这是非常罕见的.
阅读epoll和替代品之间的几十个比较表明,epoll显然是速度和可扩展性的支柱,特别是它以线性方式扩展,非常棒.那说,处理器和内存利用率如何,epoll仍然是冠军?
scalability ×10
database ×3
networking ×2
performance ×2
.net ×1
architecture ×1
broadcast ×1
c# ×1
django ×1
javascript ×1
nosql ×1
python ×1
sql ×1
sqlite ×1
tcp ×1
twisted ×1
video ×1
webrtc ×1