当前位置: 首页 > 面试题库 >

可靠的数据服务

柳仲卿
2023-03-14
问题内容

如何确保我的文件服务可靠且可扩展?它可以处理多少个并行请求?

我正在考虑超出硬件功能和带宽。

我正在关注在JavaServlet中流式传输大文件


问题答案:

如果这些是静态文件,则 直接
链接到它。所有不错的servlet容器/应用服务器都有完善的DefaultServlet。如果这些是静态文件,这些静态文件位于您要链接到的Web应用程序
之外
,那么您也可以仅将这些文件的根文件夹添加为另一个上下文。目前还不清楚你正在使用的服务器,但如果它是Tomcat的,你可以只添加一个新的<Context>server.xml


<Context docBase="/path/to/static/files" path="/files" />

这样可以通过进行访问http://example.com/files/...

如果这些是动态生成的文件或来自数据库的文件,那么您需要开发一个可以有效执行IO工作的servlet:即,不必将整个数据不必要地存储在内存中(例如,在将它们发送到输出之前ByteArrayInputStreambyte[]之后)。



 类似资料:
  • 我正在使用Java nio的WatchService,但我发现它在以下用例中非常不可靠: > 当一个很大的文件( 但是,当数千个小型(约2Kb)文件被复制到监视目录时,其中80%不会调用ENTRY_CREATE或ENTRY_MODIFY! 还有其他人面对过吗?还有更好更可靠的lib吗?或者我应该简单地切换到阻塞队列实现,文件复制器将文件名添加到队列中,消费者线程处理文件? WatchService

  • 海蓝(navy blue)是最为大众所接受的颜色之一。采用这种颜色的色彩组合可解释成可靠、值得信赖的色彩。这类组合也带有不可置疑的权威感。警官、海军军官或法官都穿着深色、稳定的海军蓝,以便在值勤时表现出统率、支配的权威感。 当海军蓝用红和金色来强调时,会变得较不严肃,但仍表达出坚定、有力量的感觉。 补色色彩组合 原色色彩组合 单色色彩组合 21 65 17 65 33 1 65 67 70 65

  • 通过UDP发送大量的小数据包会占用更多的资源(cpu、zlib压缩等)。我在这里读到,通过UDP发送一个大的~65kBYTEs数据包可能会失败,所以我认为发送许多较小的数据包会更频繁地成功,但是随之而来的是使用更多处理能力的计算开销(或者至少这是我假设的)。问题基本上是这样的:发送最大成功数据包并将计算保持在最低限度的最佳方案是什么?有没有一个特定的尺寸在大部分时间都有效?我使用Erlang作为服

  • 可靠的扩展 目前开源社区有不少人为Sanic框架编写了插件,这些插件很可能会在将来的某个时间帮助到你,比如缓存、模板渲染、api文档生成、Session...等等 官方也维护了一个扩展列表,见extensions

  • 我有一个小的Spring Boot API在docker中运行。下面显示的是我用来升级容器的命令。 然后,我有一个停靠的JMeter,我使用下面的命令来启动它 但是所有的测试都失败了,请求没有被发送到API。这就是JMeter的CLI的外观 请求的测试配置: 协议:htttp 服务器:localhost 端口:8080 方法:GET 路径:/api/factorial 完整的bash文件如下所示:

  • 抱歉,我需要先解释一下,然后再谈这个问题。 异步: 我可以使用Kafka producer async send with with callback,如果向Kafka发送消息时出现错误,那么通知JMS使用者不确认消息消耗将为时已晚。为了克服这个问题,我想出的唯一办法是,如果有异常,在回调中保留消息,然后尝试稍后发送消息。但我认为那会是太多的开销。 有没有其他方法可以使用异步调用来处理这种情况?