我想知道创建应用程序1的最佳架构风格是什么。)(用于服务器或2)当您希望从一开始就创建应用程序时(不需要使用服务器等)。
我的问题是:“当我读到有关I/O线程和工作线程的用法时,您知道什么来源吗?”据我所知。当您需要创建一个好的应用程序时,分离I/O线程和工作线程是很好的做法。但我不可能在网上找到一些很好的解释。有人能给我写一下这个架构应该如何工作吗?
例如,Spring引导如何应用这个?在web上使用Spring的例子很多。但我还没有意识到,我会发现这两种线程的工作分离的例子。或者只是描述一些原则或例子。
谢谢
发布于 2022-09-15 06:07:37
查看诸如面向模式的软件体系结构之类的书籍,特别是第2卷:架构
了解Apache中的多处理模块是如何工作的。为什么其中有三个(前叉,工人,事件)?它们是如何进化的?
查看像野蝇这样的应用服务器中线程池的使用情况。
发布于 2022-09-15 11:17:42
典型的解决方案是使用一些SEDA设计:阶段性事件驱动体系结构。通常,每个阶段都由反应堆组成;因此,线程执行某些事件循环,并将任务从一个阶段转移到下一个阶段(例如,从套接字读取、->进程、->套接字写入)。例如黑兹尔卡斯特、卡夫卡和卡桑德拉就是很好的例子。
但是最近,对于高性能的系统来说,每一个核心设计都有一个转向线程。所以,没有不同的阶段,只有一个阶段。在这个阶段,所有的活动都是执行的:读/写套接字、读/写磁盘、实际逻辑等等。因此,单个请求的处理是在一个线程上进行的。最大的优点是,它的规模要好得多,可以提供优越的性能。“锡拉”/“红熊猫”/“蜻蜓”就是一个很好的例子。
https://stackoverflow.com/questions/73725828
复制相似问题