假设我们有一个通知服务,它从消息队列中读取事件并实时通知所有Web客户端.我知道Web套接字是如何工作的,但是当我们之间有一个API网关然后如何在客户端,API网关和通知服务之间维护Web套接字连接时我很困惑.
请帮忙!谢谢
我想获取输入并在其上应用并行流,然后我想输出为列表.输入可以是我们可以应用流的任何列表或任何集合.
我担心的是,如果我们想要输出作为映射它们,我们有一个来自java的选项就像
list.parallelStream().collect(Collectors.toConcurrentMap(args))
Run Code Online (Sandbox Code Playgroud)
但是我没有选择以线程安全的方式从并行流中收集以提供列表作为输出.我看到另外一个选项可供使用
list.parallelStream().collect(Collectors.toCollection(<Concurrent Implementation>))
通过这种方式,我们可以在collect方法中提供各种并发实现.但我认为java.util.concurrent中只存在CopyOnWriteArrayList List实现.我们可以在这里使用各种队列实现,但那些不会像列表一样.我的意思是我们可以解决这个问题.
如果我想要输出列表,你能指导一下最好的方法吗?
注意:我找不到与此相关的任何其他帖子,任何参考都会有所帮助.
我正在比较令牌桶和固定窗口速率限制算法,但对这两种算法中的流量突发有点困惑。
假设我想将流量限制为 10 个请求/分钟。
令牌桶中以每分钟10个令牌的速度添加令牌。
Time Requests AvailableTokens
10:00:00 0 10 (added 10 tokens)
10:00:58 10 0
10:01:00 0 10 (added 10 tokens)
10:01:01 10 0
Run Code Online (Sandbox Code Playgroud)
现在,如果我们在时间戳 10:01:01 看到,最后一分钟允许 20 个请求,超过了我们的限制。
类似地,使用固定窗口算法。窗口大小:1 分钟。
Window RequestCount IncomingRequests
10:00:00 10 10 req at 10:00:58
10:01:00 10 10 req at 10:01:01
Run Code Online (Sandbox Code Playgroud)
类似的问题也在这里。
这两种算法都遇到这个问题吗,还是我的理解存在差距?
我正在将 EhCache 与 spring 一起使用,并且需要公开一个端点,该端点将驱逐给定 EhCache 中的所有元素。但是我找不到任何驱逐所有元素的方法。这是微不足道的,可能已经讨论过了,但我在互联网上找不到任何资源。请提供指点。
AWS ECS 中是否可以始终只运行一项任务?我不想进行蓝/绿类型的部署。
我的要求:
最小/期望/最大任务 = 1;
当我重新部署 ECS 服务时,它应该首先停止旧任务,然后启动新任务。目前情况恰恰相反。
任何参考都会有帮助。
java ×2
algorithm ×1
amazon-ecs ×1
api-gateway ×1
deployment ×1
ehcache ×1
java-8 ×1
java-stream ×1
spring ×1
spring-cache ×1
throttling ×1
websocket ×1