小编mon*_*reo的帖子

Apache Flink,任务槽数与 env.setParallelism

你能解释一下 Apache Flink v1.9 中任务槽和并行性之间的区别吗?

  • 这是我到目前为止的理解

    • Flink 说 TaskManager 是工作进程。通常每台计算机应该有一个 TaskManager。
    • 假设我有 3 台计算机,它们都有 16 个 CPU 内核。每台计算机都会是TaskManager。因此我将有 3 个 TaskManager
    • 我认为如果一台计算机有 16 个 cpu 内核,那么 TaskManager 最多可以创建 16 个任务槽。因此,那里有一个 CPU 隔离。然而 Flink 说link => "请注意,这里没有 CPU 隔离;当前插槽仅将任务的托管内存分开。 "
    • 这意味着 16 个插槽 = 16 个线程?还有numberOfSlot can be >= numberOfCpuCores
  • 如果任务槽意味着线程,这可能会导致“共享访问数据问题、竞争条件”等。?这是我的第一个问题。

  • 第二个问题是我在文章开头写的问题 => 任务槽和并行性之间的差异。我说的是 env.setparallellism(number)。
    • 假设我的并行数 = 2
    • 然后对于每个任务槽(线程或其他任何东西)将用 2 个线程执行?
      • 如果是这样,这可能会导致“共享访问数据问题、竞争条件”等。?
      • 如果不是,并行性是什么意思?
  • 这是示例。在这个例子中,apply()由于线程环境,我应该关心编写方法吗?:

public class AverageSensorReadings {
 public static void main(String[] args) throws Exception …
Run Code Online (Sandbox Code Playgroud)

java stream apache-flink flink-streaming

3
推荐指数
1
解决办法
2641
查看次数

配置类中@EnableWebSecurity的原因

我刚刚阅读了另一个问题的答案@EnableWebSecurity in Spring有什么用?,但我根本不明白为什么我们需要添加@EnableWebSecurity注释。

@EnableWebSecurity即使我从配置中删除,我的应用程序仍然可以工作。

假设我们要实现基于 JWT(rest api)或仅基于登录的 mvc 应用程序。对于以下配置我缺少什么?

@Component
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Bean
    public UserDetailsService userDetailsService() {
        return new MyCustomUserDetailsService();
    }

    @Bean
    public PasswsordEncoder passwsordEncoder() {
        return new BrcyptPasswordEncoder();
    }
 

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // for the jwt authentication add jwt filter etc ..
        // for the login based, override default login page, error page etc..
    }
}
Run Code Online (Sandbox Code Playgroud)

spring spring-security spring-boot

3
推荐指数
1
解决办法
2160
查看次数