小编use*_*872的帖子

使用$ graphLookup与Mongo进行分层查询

我有一个拥有五十万条记录的员工集合.每条记录都有以下详细信息.

mongo文件如下.

{
  "_id": "234463456453643563456",
  "name": "Mike",
  "empId": "10",
  "managerId": "8",
  "projects" : [ "123", "456", "789"]
}
Run Code Online (Sandbox Code Playgroud)
  1. 当我给出任何empId时,它应该将完整的层次结构从该管理器返回到底层以及以下过滤器.

一个.过滤位置
b.过滤项目

结果应该是,像,

      10     ->>> Manager
      /\
     /  \
    8    6  ---->> 8 & 6 reporting to manager 10
    /\    /\
   /  \  /  \
  4    5 2   1  ---->> 4 & 5 reporting to manager 8 ...
Run Code Online (Sandbox Code Playgroud)

任何帮助将获得层次结果与水平?

我无法按预期得到结果.

样本数据 :-

db.getCollection("employees").insert({"_id":"10","empId": "10","name":"Employee10","managerId":"15" });

db.getCollection("employees").insert({"_id":"8","empId": "8","name":"Employee8","managerId":"10" });

db.getCollection("employees").insert({"_id":"6","empId": "6","name":"Employee6","managerId":"10" });

db.getCollection("employees").insert({"_id":"4","empId": "4","name":"Employee4","managerId":"8" });

db.getCollection("employees").insert({"_id":"5","empId": "5","name":"Employee5","managerId":"8" });

db.getCollection("employees").insert({"_id":"2","empId": "2","name":"Employee2","managerId":"6" });

db.getCollection("employees").insert({"_id":"1","empId": …
Run Code Online (Sandbox Code Playgroud)

mongodb

10
推荐指数
2
解决办法
751
查看次数

Prometheus 中是否提供详细日志?

我在 Kubernetes 中运行 Prometheus 并遇到一些 kube 状态指标连接错误。试图检查日志,但无法在日志中看到连接失败。无论如何,是否可以启用 Prometheus 的详细日志记录?

prometheus

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

为此cookie指定了无效域

我在我的应用程序中使用Spring Boot 1.4.4.RELEASE,我的应用程序已部署在AWS中.

我想为每个用户提供子域名,比如

当用户"test"登录时,url将为test.XXX.com

这里XXX.com是我的域名.

对于XXX.com,它工作正常.

我最近再买了一个像XXX-test.com这样的测试域名.

但是,当用户登录时,我收到以下异常.

java.lang.IllegalArgumentException: An invalid domain [.XXX-test.com] was specified for this cookie
    at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:183)
    at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:125)
    at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
    at org.apache.catalina.connector.Response.addSessionCookieInternal(Response.java:959)
    at org.apache.catalina.connector.Request.doGetSession(Request.java:3009)
    at org.apache.catalina.connector.Request.getSession(Request.java:2367)
    at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:896)
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:231)
    at org.springframework.security.web.context.HttpSessionSecurityContextRepository$SaveToSessionResponseWrapper.createNewSessionIfAllowed(HttpSessionSecurityContextRepository.java:427)
    at org.springframework.security.web.context.HttpSessionSecurityContextRepository$SaveToSessionResponseWrapper.saveContext(HttpSessionSecurityContextRepository.java:364)
    at org.springframework.security.web.context.SaveContextOnUpdateOrErrorResponseWrapper.onResponseCommitted(SaveContextOnUpdateOrErrorResponseWrapper.java:85)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.doOnResponseCommitted(OnCommittedResponseWrapper.java:245)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.sendRedirect(OnCommittedResponseWrapper.java:127)
    at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:138)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.sendRedirect(OnCommittedResponseWrapper.java:128)
    at org.springframework.security.web.DefaultRedirectStrategy.sendRedirect(DefaultRedirectStrategy.java:57)
Run Code Online (Sandbox Code Playgroud)

我的Spring application.properties,

server.session.cookie.domain=.XXX-test.com
server.session.cookie.path=/
Run Code Online (Sandbox Code Playgroud)

它适用于其他prod env与以下配置.

server.session.cookie.domain=.XXX.com
server.session.cookie.path=/
Run Code Online (Sandbox Code Playgroud)

同样,几个月前使用1.3.5的spring boot版本部署和测试了prod配置.

这里有什么改变或遗失的东西吗?或者,XXX-test.com是个问题?

谢谢,

cookies spring spring-boot

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

负载均衡Web套接字 - AWS Elastic Loadbalancer

我有一个关于如何使用AWS弹性负载均衡器对Web套接字进行负载均衡的问题.

我在AWS弹性负载均衡器后面有2个EC2实例.

当任何用户登录时,将与服务器之一建立用户会话,例如EC2 instance1.现在,来自同一用户的所有请求都将路由到EC2 instance1.

现在,我有一个来自不同系统的不同无状态请求.该请求将包含userId.此请求最终可能会转到EC2 instance2.我们应该根据请求中的userId向用户发送通知.

现在,

1)假设用户会话是EC2 instance1,但通知源自EC2 instance2.在这种情况下,我不确定如何通知用户浏览器.

2)对于像64K这样的websocket连接是否存在任何限制以及如何克服多个服务器,因为用户通过负载均衡器来实现.

谢谢

amazon-ec2 spring-websocket elastic-load-balancer

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

Kubernetes 日志在 pod 中的位置

我只是想在 pod 中找到日志位置。

我刚刚登录到 pod,如下所示。

kubectl exec -it POD_NAME bash
Run Code Online (Sandbox Code Playgroud)

但是,日志在/var/logs. 不确定实际的日志位置是什么以及如何更改它。

logging kubernetes

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

两个实例之间的Java年份

在Joda中,我们可以计算2个Datetime之间的年份

Years.between(dateTime1, dateTime2);
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法可以在2个时刻之间找到使用java.timeAPI而没有太多逻辑的年份?

ChronoUnit.YEARS.between(instant1, instant2)
Run Code Online (Sandbox Code Playgroud)

失败:

Exception in thread "main" java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Years
        at java.time.Instant.until(Instant.java:1157)
        at java.time.temporal.ChronoUnit.between(ChronoUnit.java:272)
        ...
Run Code Online (Sandbox Code Playgroud)

java datetime date-difference java-8 java.time.instant

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

Kubernetes 服务 - 带 HTTPS 的负载均衡器

我将 kubernetes 与服务一起用作 ClusterIP 并将入口放置在服务前面以将其暴露给 Kubernetes 集群外部。

使用 https 运行 ingress 并使其成为 https,我创建了秘密并在 ingress 中使用了相同的秘密。

kubectl 创建秘密 tls test-secret --key key --cert cert

在我们的 kubernetes 集群中使用 netscalar,因此,我能够使用 X-Forward-For、会话关联、负载平衡算法以及入口。

现在,尝试将服务类型设为 LoadBalancer,这样我就不必有入口。我知道,服务类型负载均衡器提供 L4 负载均衡器,因此负载均衡器中不会有会话关联功能。因为,它可以用于少数服务,我正在尝试使用它。

试图使服务 HTTPS 并且我遇到了,

https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#securing-the-service

在这里,我们创建 tls secret 并使用部署部分而不是服务部分中的引用。不确定它是如何工作的。另外,当我在浏览器中使用https://servicename.namespace.svc.XXXXX.com时出现证书错误。

我的应用程序作为 https 运行,它需要在属性文件中使用密钥库和信任库,例如,

ssl.trustore=PATH_TO_THE_FILE ssl.keystore=PATH_TO_THE_FILE

我很困惑,如何使服务类型负载均衡器 https?

kubernetes

6
推荐指数
2
解决办法
9547
查看次数

Kafka MirrorMaker2 - 不镜像消费者组偏移量

我已经设置了 MirrorMaker2 来在 2 个 DC 之间复制数据。

我的 mm2.properties,

# mm2.properties
name=source->dest
clusters=source, dest

source.bootstrap.servers=localhost:9091
dest.bootstrap.servers=localhost:9092

source->dest.enabled=true

offset.storage.partitions=2
config.storage.replication.factor=1
status.storage.replication.factor=1
Run Code Online (Sandbox Code Playgroud)

在MM2启动时看到以下内容。

[2020-02-16 07:31:07,547] INFO MirrorConnectorConfig values: 
    admin.timeout.ms = 60000
    checkpoints.topic.replication.factor = 3
    config.action.reload = restart
    config.properties.blacklist = [follower\.replication\.throttled\.replicas, leader\.replication\.throttled\.replicas, message\.timestamp\.difference\.max\.ms, message\.timestamp\.type, unclean\.leader\.election\.enable, min\.insync\.replicas]
    config.property.filter.class = class org.apache.kafka.connect.mirror.DefaultConfigPropertyFilter
    connector.class = org.apache.kafka.connect.mirror.MirrorCheckpointConnector
    consumer.poll.timeout.ms = 1000
    emit.checkpoints.enabled = true
    emit.checkpoints.interval.seconds = 60
    emit.heartbeats.enabled = true
    emit.heartbeats.interval.seconds = 1
    enabled = true
    errors.log.enable = false
    errors.log.include.messages = false
    errors.retry.delay.max.ms = 60000
    errors.retry.timeout = 0 …
Run Code Online (Sandbox Code Playgroud)

apache-kafka apache-kafka-mirrormaker

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

用于列出 docker 标签的 Jfrog API

用于列出 docker 标签的 JFrog REST api 获取 302。

文档:

用法

GET /api/docker/{repo-key}/v2/{image name}/tags/list?n=<n from the request>&last=<last tag value from previous response>
Run Code Online (Sandbox Code Playgroud)

我的查询:

  • 仓库密钥-docker-local
  • 我的图像名称就像 -> /eric/com.jfrog/test-app

所以我的查询是:

回复:

GET /api/docker/{repo-key}/v2/{image name}/tags/list?n=<n from the request>&last=<last tag value from previous response>
Run Code Online (Sandbox Code Playgroud)

artifactory jfrog-cli docker-tag jfrog-container-registry

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

无阻塞地通量到 List&lt;Objects&gt;

寻找将 Flux 转换为List<Object>. 如果我使用 block() 会出现错误。因此,需要在不阻塞呼叫的情况下进行通话。

Flux.from(Collection.find())
Run Code Online (Sandbox Code Playgroud)

使用反应式编程,但 graphql 期望List<objects>返回 Flux 并出错。

使用 Block() 编写代码

public List<Test> findAll() {
        return Flux.from(testCollection.find()).collectList().block();

}
Run Code Online (Sandbox Code Playgroud)

错误 :-

block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-kqueue-7
Run Code Online (Sandbox Code Playgroud)

在这里,我需要返回,因为由于某种原因List<Test>我无法发送。Flux<Test>

java reactive-programming project-reactor graphql-java

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