Actors 模型(Scala、Erlang)最适合哪些类型的应用程序/服务/组件?
除了该模型相对于共享内存模型的优势之外,我只是想了解在哪里将其应用于更高级别的用例。
Besides the benefits of this model over the shared-memory model, I'm just trying to understand where to apply it for higher levels use-cases.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于 Scala,Actors 模型适合大多数可以想到的多线程情况:
Actors 模型使设计更加清晰,并大大简化了进程间通信。
As to Scala, Actors model fits most of the multi-threaded cases one can think about:
Actors model makes design much clearer and greatly simplifies interprocess communication.
OTP 框架:为基于网络的应用程序提供非常好的框架。
帮助制作容错应用程序。 (使用 OTP 中的 Supervisor 重新启动进程)。
同步和异步通信模式都可以使用gen_server来完成。
可以使用gen_event来使用基于事件的回调。
状态机可以使用gen_fsm轻松编程(如果您需要遵循应用程序中的某些状态)。
进程崩溃不会导致整个应用程序崩溃。只有特定的进程才会崩溃。
函数式编程语言。
在二进制级别编程更容易。
垃圾收集。
本机编译选项。
有相当多的好用的模块可用。
能够轻松地开发出优秀的并发应用程序。
还有更多......我真的很喜欢在 erlang 中开发一些应用程序,而在 c/c++ 中制作这些应用程序会非常困难。
OTP Framework : Provides really good framework for network based applications.
Helps in making fault tolerant applications . (process restart using Supervisor's in OTP).
Both Synchronous and Asynchronous modes of communication can be done using gen_server.
Event based callbacks can be used using gen_event.
State machine can be programmed easily using gen_fsm (In case you need to follow some states in your application).
A process crash does not bring the whole application down. Only that particular process crashes.
Functional programming language.
A lot easier to program at binary level.
Garbage collection.
Native compilation option.
Fair amount of good useful modules are available.
Able to make good solid concurrent applications easily.
And lots more.... I really enjoyed working on some applications in erlang , making those in c/c++ would have been very difficult.