我正在将 Spring web-flux 与 Reactor 一起使用,但我不清楚 RestController 方法何时应该返回
Mono <List<Object>>当 Flux<Object>.
你能提供一些什么时候使用它们的例子吗?
spring spring-boot project-reactor reactor-netty spring-webflux
我们在 AWS ECS 中运行 Java 微服务。因此,对于 Docker,我们使用 -Xmx 指定一些 Java 堆硬限制。确定可以为堆保留多少内存以及需要多少非堆内存(元空间、堆栈、JIT 缓存等)是一个非常棘手的部分。目前,我们正在运行压力测试来确定何时有 Docker OOMKiller。例如,对于 2GB AWS 任务(docker),我们最多可以为堆设置 -Xmx1400m(使用 -Xmx1450m 我们没有足够的内存用于非堆内容(退出代码137))实际上,Java 10+ 有“-XX:MaxRAMPercentage” “但我们仍然需要知道这个百分比。
如何确定 Java 微服务的堆/非堆大小?或者压力测试是唯一的解决方案?
我有一个关于在IDE中或作为胖子运行Flink流作业而不将其部署到Flink服务器的问题。
问题是,当我的工作中有多个任务槽时,无法在IDE中运行它。
public class StreamingJob {
public static void main(String[] args) throws Exception {
// set up the streaming execution environment
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties kafkaProperties = new Properties();
kafkaProperties.setProperty("bootstrap.servers", "localhost:9092");
kafkaProperties.setProperty("group.id", "test");
env.setParallelism(1);
DataStream<String> kafkaSource = env
.addSource(new FlinkKafkaConsumer010<>("flink-source", new SimpleStringSchema(), kafkaProperties))
.name("Kafka-Source")
.slotSharingGroup("Kafka-Source");
kafkaSource.print().slotSharingGroup("Print");
env.execute("Flink Streaming Java API Skeleton");
}
Run Code Online (Sandbox Code Playgroud)
}
我知道该作业需要2个插槽,并且Flink集群中可以有两个任务管理器,但是如何在IDE中本地运行它。
当前,我必须为所有本地操作员指定相同的slotSharingGroup名称,以拥有一个插槽。但这并不灵活。
您如何处理?
我们正在使用 Eureka 和 AWS ECS 服务,可以扩展 docker 容器。在 ECS 中,如果您在任务定义中省略主机端口或将其指定为“0”,则该端口将被自动选择并报告回服务。任务运行后,描述它应该显示它绑定到的端口。
如果我们有多个 EC2 实例,Eureka 如何解决使用哪个端口。例如,来自 EC2-A 的服务 A 尝试从 EC2-B 调用服务 B。所以 Eureka 可以解析主机名,但无法识别暴露的端口
amazon-web-services amazon-ecs netflix-eureka netflix-zuul spring-cloud-netflix