我一直在关注函数式编程语言和功能的日益增长的可见性.我调查了他们,没有看到上诉的原因.
然后,最近我参加了Kevin Smith在Codemash上的"Erlang基础知识"演讲.
我很喜欢这个演示文稿,并了解到函数式编程的许多属性使得更容易避免线程/并发问题.我理解缺少状态和可变性使得多个线程无法改变相同的数据,但Kevin说(如果我理解正确的话)所有通信都是通过消息进行的,并且同步处理消息(再次避免并发问题).
但我已经读到Erlang用于高度可扩展的应用程序(爱立信首先创建它的全部原因).如果所有内容都作为同步处理的消息处理,那么如何有效处理每秒数千个请求?这不是我们开始转向异步处理的原因 - 所以我们可以同时运行多个操作线程并实现可扩展性吗?看起来这种架构虽然更安全,但在可扩展性方面却倒退了一步.我错过了什么?
我理解Erlang的创建者故意避免支持线程以避免并发问题,但我认为多线程是实现可伸缩性所必需的.
函数式编程语言如何本质上是线程安全的,但仍然可以扩展?
我是大规模服务器端开发的新手.我想使用Node.js编写一个服务器,但在我开始之前,我想知道将节点扩展到每秒20个查询的一般原则是什么.
我正在编写的服务主要是数据库的接口,以及输入数据的认证和验证.
我与Kohana建立的网站昨天遭到了大量的流量冲击,导致我退后一步并评估一些设计.我很好奇什么是优化基于Kohana的应用程序的标准技术?
我也对基准测试感兴趣.我是否需要设置Benchmark::start()和Benchmark::stop()使用每个控制器方法才能查看所有页面的执行时间,或者我是否能够全局且快速地应用基准测试?
我将在未来更多时间使用Cache-library,但我愿意接受更多建议,因为我确信我能做很多事情,我现在根本不知道.
说实话,我还没有完全理解它 - 我甚至理解Node.js是如何工作的,作为使用事件模型的单个线程.我只是不知道它如何比Apache更好,如果它是单线程的,它如何水平扩展.
我的团队正在开发一个带有Web前端的面向服务的新产品.在讨论我们将使用哪些技术时,我们决定运行JBoss应用程序服务器和Flex前端(可能使用Adobe AIR进行桌面部署),以及用于连接客户端和服务器的Web服务.
当涉及到我们的业务逻辑使用哪种服务器技术时,我们陷入了僵局.EJB3和Spring之间的争论很大,我们最关心的是可扩展性和性能,以及代码库的可维护性.
这是我的问题:
我已经使用PHP一段时间了,并且已经很好地使用了CodeIgniter,这是一个很棒的框架.我正在开始一个新的个人项目,上次我正在考虑使用什么(PHP vs ROR)我使用PHP因为我听到ROR的可扩展性问题,特别是在阅读了Twitter开发人员不得不说的内容之后.可扩展性在ROR中仍然是一个问题,还是有改进?
我想学习一门新语言,ROR似乎很有趣.PHP完成了工作,但众所周知,它的语法和组织都很难看,感觉就像一个大黑客.
这个问题旨在作为主要网站使用的数据库及其配置列表,对于任何想要将其网站扩展到Twitter,Facebook甚至谷歌的人来说都是一个很好的参考.
请将您的答案保持在最低限度,并确保引用任何使用的来源.
编辑:
此外,请加粗网站名称和数据库,以便于扫描.
我已经阅读了一些帖子,其中有人说过(不建议,没有讨论,没有提供)PHP不应该用于大型项目.
作为一名主要的PHP开发人员,我提出两个问题:
我经营一个小型开发团队,我从经验中了解质量建设,组织,文档,评论和封装是我们的首要任务.我们能够使用自己的框架和方法开发出色的项目,但是,如果我浪费时间,我不想进一步投资.
思考?
我读了许多比较编程语言的文章.
通常会有一个词:可扩展性.我实际上试图寻找一个简单明了的解释,但还没有找到它.
你能解释一下可扩展性意味着什么吗?
谢谢.
我正在构建一个聊天应用程序,我希望在聊天对话中发送的所有消息都有完整的历史记录.目前,我将每条消息作为一行存储在名为"messages"的表中.我知道这个表可能会变得很大,因为即使像'Hi'这样的小消息也会拥有自己的数据库记录.
谁能推荐一个更具伸缩性的mysql解决方案?我不要求单个邮件可搜索,可编辑或删除.整个会话可以存储在一个巨大的领域吗?
很想听听你的想法!
scalability ×10
node.js ×2
performance ×2
php ×2
apache ×1
chat ×1
concurrency ×1
database ×1
ejb-3.0 ×1
erlang ×1
java ×1
kohana ×1
mysql ×1
optimization ×1
projects ×1
ruby ×1
spring ×1