我需要在微服务中实现服务器发送事件功能。相关应用程序在由两个 Pod 组成的 Kubernetes 集群中运行。但是,我不相信集群环境中的服务器发送事件能够可靠地将其注册的事件通知给所有客户端,原因如下。例如,客户端 1 注册了 pod 1 中运行的应用程序实例的通知。客户端 2 注册了 pod 2 中运行的应用程序实例的通知。下次发生相关事件时,应用程序会成功处理该事件在 pod 1 中运行(因为无论出于何种原因,负载均衡器将其定向到该位置)。因此,客户端 1 将收到该事件的通知,但客户端 2 不会,因为在 pod 2 中运行的应用程序不知道 pod 1 上刚刚发生了什么。后续事件依此类推(下一个请求可能会发送到 pod 2,例如)。
所以我正在考虑转向使用反应式流。
有人不同意我对实现 SSE(应用程序将在集群环境中运行)的看法吗?
鉴于这个例子:
let a = ['New York', 'New Hampshire', 'Maryland'];
let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
a.sort(collator.compare);
Run Code Online (Sandbox Code Playgroud)
这个数组如何按降序排序?
我有一个水平条形图,其中标签有时会超出画布的末端。例如,如果 Y 轴位于画布的最左侧,则根据数据值的分布,只有“Chevro”可见,而不是显示“Chevrolet Corvette”的标签。如果我可以将 Y 轴保持在画布的中间(即点 0,0 位于中间),而不管数据分布如何,这将有助于解决我的问题。是否可以将 Y 轴保持在画布的中间并让条形相应地缩放?小提琴: https://jsfiddle.net/Kavitha_2817/2e1xLxLc/
var margin = {top: 30, right: 10, bottom: 50, left: 50},
width = 500,
height = 300;
var data = [{value: -10, dataset:"Corvette", year: "1975"},
{value: 40, dataset:"Lumina", year: "1975"},
{value: -10, dataset:"Gran Torino", year: "1971"},
{value: -50, dataset:"Pomtiac GTO", year: "1964"},
{value: 30, dataset:"Mustang", year: "19655"},
{value: -20, dataset:"Camaro", year: "1973"},
{value: -70, dataset:"Firebird", year: "1975"}];
var svg = d3.select('body').append('svg').attr('width', width + margin.left + margin.right).attr('height', height + margin.top …Run Code Online (Sandbox Code Playgroud)