小编pla*_*oom的帖子

使用localstack和docker-compose自动创建SQS队列

有没有办法使用 localstack 和 docker-compose.yml 自动创建 SQS 队列?

我的 docker-compose.yml:

version: '3.8'
services:
  localstack:
    image: localstack/localstack
    ports:
      - "4566:4566"
      - "4571:4571"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=${SERVICES- }
      - DEBUG=${DEBUG- }
      - DATA_DIR=${DATA_DIR- }
      - PORT_WEB_UI=${PORT_WEB_UI- }
      - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR- }
      - KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"

Run Code Online (Sandbox Code Playgroud)

我希望在启动 docker-compose 时创建一些队列,而不是手动创建它。

docker-compose localstack

11
推荐指数
1
解决办法
1万
查看次数

将 SqsListener 配置为长池

我正在使用 spring boot 实现 SQS 订阅者,经过在互联网上的一些研究,我找到了该项目spring-cloud

使用注释@SqsListener看起来很容易从主题接收消息,但我想将其实现为长池,而不是短池,后者在每条消息到达时都会接收消息。

    @SqsListener(
        value = ["queue"],
        deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS
    )
    fun subscribeToSSmsg: String) {
    ....
    }
Run Code Online (Sandbox Code Playgroud)

这工作顺利,但我想使用长池接收消息。有什么办法可以使用 spring-cloud 来做到这一点吗?

java spring amazon-sqs spring-cloud

5
推荐指数
1
解决办法
3500
查看次数

Kotlin - 如何连接两张地图?

我有两个不可变的地图,例如:

val a = mapOf("a" to 1, "z" to 1)
val b = mapOf("b" to 1, "a" to 1, "c" to 1)
Run Code Online (Sandbox Code Playgroud)

有没有什么优雅的方法来连接这些地图并拥有一个包含所有键的地图?如果它有重复的键,我想用 B 映射中的值替换它。

结果应该类似于:

mapOf("z" to 1, "b" to 1, "a" to 1, "c" to 1)
Run Code Online (Sandbox Code Playgroud)

kotlin

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

Kubernetes - 解析服务的主机名

我想对我的回显服务器执行调用,但我无法弄清楚我的服务的主机名是什么:

orion:webanalytics papaburger$ kubectl get services -n web-analytics
NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)      AGE
echo-server            ClusterIP   10.100.92.251    <none>        80/TCP       87m
web-api                ClusterIP   10.100.92.250    <none>        8080/TCP     87m
Run Code Online (Sandbox Code Playgroud)

我尝试使用kubectl exec -it curl-curl0 -- curl http://web-analytics.echo-server.svc.cluster.local/heythere但失败了:

curl: (6) Couldn't resolve host 'web-analytics.echo-server.svc.cluster.local'
Run Code Online (Sandbox Code Playgroud)

如果我更改web-analytics.echo-server.svc.cluster.local为集群ip,它就可以工作。

如何让我的 pod (web-api) 到达 echo 服务器?

编辑:

orion:webanalytics papaburger$ kubectl get ep -n web-analytics
NAME                   ENDPOINTS             AGE
echo-server            172.16.187.247:80     95m
web-api                172.16.184.217:8080   95m
Run Code Online (Sandbox Code Playgroud)

kubernetes

2
推荐指数
1
解决办法
1329
查看次数

使用 xargs 从命名空间中的所有 pod 获取日志

是否有办法从运行 awk 和 xargs 组合等动态命令的特定命名空间中的 pod 获取所有日志?

 kubectl get pods | grep Running | awk '{print $1}' | xargs kubectl logs | grep value
Run Code Online (Sandbox Code Playgroud)

我已尝试上面的命令,但它失败了,就像kubectl logs缺少 pod 名称一样:

错误:预期为“日志 [-f] [-p] (POD | 类型/名称) [-c CONTAINER]”。POD 或 TYPE/NAME 是日志命令的必需参数请参阅“kubectl logs -h”以获取帮助和示例

您对如何从 Running pod 获取所有日志有什么建议吗?

shell kubernetes kubectl

2
推荐指数
1
解决办法
1520
查看次数

Kotlin如何在find返回null时创建默认对象

如果 find 函数返回 null,创建默认对象的“kotlin-way”是什么?

val address = this.addresses.find { a -> a.principal }
Run Code Online (Sandbox Code Playgroud)

我应该转换address为变量并使用 if/else 等条件吗?

kotlin

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