我有一个拥有五十万条记录的员工集合.每条记录都有以下详细信息.
mongo文件如下.
{
"_id": "234463456453643563456",
"name": "Mike",
"empId": "10",
"managerId": "8",
"projects" : [ "123", "456", "789"]
}
Run Code Online (Sandbox Code Playgroud)
一个.过滤位置
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) 我在 Kubernetes 中运行 Prometheus 并遇到一些 kube 状态指标连接错误。试图检查日志,但无法在日志中看到连接失败。无论如何,是否可以启用 Prometheus 的详细日志记录?
我在我的应用程序中使用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是个问题?
谢谢,
我有一个关于如何使用AWS弹性负载均衡器对Web套接字进行负载均衡的问题.
我在AWS弹性负载均衡器后面有2个EC2实例.
当任何用户登录时,将与服务器之一建立用户会话,例如EC2 instance1.现在,来自同一用户的所有请求都将路由到EC2 instance1.
现在,我有一个来自不同系统的不同无状态请求.该请求将包含userId.此请求最终可能会转到EC2 instance2.我们应该根据请求中的userId向用户发送通知.
现在,
1)假设用户会话是EC2 instance1,但通知源自EC2 instance2.在这种情况下,我不确定如何通知用户浏览器.
2)对于像64K这样的websocket连接是否存在任何限制以及如何克服多个服务器,因为用户通过负载均衡器来实现.
谢谢
我只是想在 pod 中找到日志位置。
我刚刚登录到 pod,如下所示。
kubectl exec -it POD_NAME bash
Run Code Online (Sandbox Code Playgroud)
但是,日志在/var/logs. 不确定实际的日志位置是什么以及如何更改它。
在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) 我将 kubernetes 与服务一起用作 ClusterIP 并将入口放置在服务前面以将其暴露给 Kubernetes 集群外部。
使用 https 运行 ingress 并使其成为 https,我创建了秘密并在 ingress 中使用了相同的秘密。
kubectl 创建秘密 tls test-secret --key key --cert cert
在我们的 kubernetes 集群中使用 netscalar,因此,我能够使用 X-Forward-For、会话关联、负载平衡算法以及入口。
现在,尝试将服务类型设为 LoadBalancer,这样我就不必有入口。我知道,服务类型负载均衡器提供 L4 负载均衡器,因此负载均衡器中不会有会话关联功能。因为,它可以用于少数服务,我正在尝试使用它。
试图使服务 HTTPS 并且我遇到了,
在这里,我们创建 tls secret 并使用部署部分而不是服务部分中的引用。不确定它是如何工作的。另外,当我在浏览器中使用https://servicename.namespace.svc.XXXXX.com时出现证书错误。
我的应用程序作为 https 运行,它需要在属性文件中使用密钥库和信任库,例如,
ssl.trustore=PATH_TO_THE_FILE ssl.keystore=PATH_TO_THE_FILE
我很困惑,如何使服务类型负载均衡器 https?
我已经设置了 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) 用于列出 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)
我的查询:
所以我的查询是:
回复:
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) 寻找将 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 ×2
kubernetes ×2
amazon-ec2 ×1
apache-kafka ×1
artifactory ×1
cookies ×1
datetime ×1
docker-tag ×1
graphql-java ×1
java-8 ×1
jfrog-cli ×1
logging ×1
mongodb ×1
prometheus ×1
spring ×1
spring-boot ×1