小编Kul*_*eep的帖子

原子变量与同步方法

我有一个具有递增和递减方法的计数器类,两个方法都是同步的.

public class Counter {
   int count = 0;
   public synchronized void increment(){
       count++;
   }

   public synchronized void decrement(){
       count--;
   }
}
Run Code Online (Sandbox Code Playgroud)

从这个例子可以看出,竞争条件不会发生,只有一个线程可以访问增量或减量方法.

现在代替整数原语,如果我用Atomic Integer修改了计数器类并删除了synchronized关键字,我们可以实现同样的目的吗?

public class Counter {
    AtomicInteger count = new AtomicInteger();

    public void increment(){
       count.incrementAndGet();
    }

    public void decrement(){
       count.decrementAndGet();
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading atomicity java.util.concurrent

8
推荐指数
2
解决办法
1906
查看次数

Kubernetes 基于入口路径的路由未按预期工作

我在 kubernetes 集群中安装了NGINX Ingress。当我尝试通过 Ingress Controller 访问微服务端时,它没有按预期工作

我已经部署了两个 Spring Boot 应用程序

入口规则

  • 路径 1 -> /客户
  • 路径 2 -> /prac

当我尝试访问其中一项服务时。 http://test.practice.com/prac/practice/getprac,它不起作用

在此输入图像描述

但是当我尝试在没有 Ingress 路径的情况下访问http://test.practice.com/practice/getprac时,它可以工作

在此输入图像描述

我无法理解为什么 Ingress 路径不起作用并且其他服务也会发生同样的情况

微服务1(端口9090)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: customer
  namespace: practice
  labels: 
    app: customer
spec:
  replicas: 5
  selector:
    matchLabels: 
      app: customer
  template: 
    metadata:
      labels: 
        app: customer
    spec: 
      imagePullSecrets:
      - name: testkuldeepsecret
      containers:
      - name: customer
        image: kuldeep99/customer:v1
        ports:
        - containerPort: 9090
          hostPort: 9090

---
apiVersion: v1
kind: Service …
Run Code Online (Sandbox Code Playgroud)

spring-boot kubernetes kubernetes-ingress nginx-ingress

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