1
A
回答
1
“反应性的系统可以在输入速率的变化,通过增加 或减少分配给服务于这些输入的资源反应。”
如果组件彼此隔离并且不共享资源,它们可以被复制 - 即,您可以一次运行组件的多个实例并在它们之间拆分输入。
这是可能的,因为输入采取异步消息的形式。从任何一个实例的角度来看,它只需要处理它收到的消息。它并不关心与其他消息有关的消息排序,也不关心其他消息如何处理消息。
因此,您可以根据需要一次运行多个(按比例放大)或按照少量(按比例缩小)实例,并且因为它们都独立地接收不同的消息 - 即问题的不同部分 - 不会发生冲突,加倍或与彼此竞争。这种向上或向下可伸缩性的特性被称为“弹性”。
只要您正确地配置它们并使用它们提供的构造,就可以帮助您实现响应式系统(如响应工作负载的组件缩放)的一些库,框架和API。目前最大的API似乎是ReactiveX API,包括RxJS,RxJava和其他平台特定的框架。
注意:反应式编程不一定针对线程 - 只针对竞争共享资源的线程。例如,如果您将线程与其他线程分离,例如通过拆分工作负载并将其中的不同部分分配到不同的线程,这是一种形式replication,这是一种被反应式编程认可的技术。
相关问题
- 1. WP7 Silverlight应用程序可伸缩性可扩展性
- 2. Flex应用程序的可扩展性和兼容性
- 3. DB4O可扩展性
- 4. Tensorflow可扩展性
- 5. DotNetNuke可扩展性
- 6. 高性能和可扩展性基于.NET应用程序
- 7. tensorflow的可扩展性
- 8. Boost.Asio的可扩展性
- 9. 反应式扩展/并行扩展中的最大线程数
- 10. 以编程方式禁用Firefox扩展
- 11. 在Web应用程序中可扩展的持久性
- 12. 单一应用程序的可扩展性Django
- 13. Node.js在典型Web应用程序中的可扩展性
- 14. 流星应用程序的可扩展性
- 15. 开发一个高性能,可扩展的Comet应用程序
- 16. 如何衡量Web应用程序的可扩展性需求
- 17. 为移动应用程序编写可下载的扩展?
- 18. 我可以切换扩展器的可扩展性吗?
- 19. Visual Studio扩展性,以编程方式创建项目
- 20. 扩展的DataGrid ColumnHeaderStyle编程
- 21. 的Java编程扩展
- 22. C# - 以编程方式修改WMA扩展属性(可能使用NAudio)
- 23. 在可扩展列表中以编程方式展开组行可以扩展列表
- 24. f的反应式扩展#
- 25. TCP保持可扩展性
- 26. CQRS + EventSourcing可扩展性
- 27. RavenDB - 规划可扩展性
- 28. Poco SocketReactor可扩展性
- 29. 是否可以在PHP中以编程方式启用扩展?
- 30. 今日扩展无响应的UITableView