小编Jef*_*eff的帖子

虚假客户和春季重试

我有一个宁静的服务,使用Spring Cloud Feign客户端调用外部服务

@FeignClient(name = "external-service", configuration = FeignClientConfig.class)
public interface ServiceClient {

    @RequestMapping(value = "/test/payments", method = RequestMethod.POST)
    public void addPayment(@Valid @RequestBody AddPaymentRequest addPaymentRequest);

    @RequestMapping(value = "/test/payments/{paymentId}", method = RequestMethod.PUT)
    public ChangePaymentStatusResponse updatePaymentStatus(@PathVariable("paymentId") String paymentId,
            @Valid @RequestBody PaymentStatusUpdateRequest paymentStatusUpdateRequest);

}
Run Code Online (Sandbox Code Playgroud)

最近3个月,我在日志文件中发现3-4次以下失败:

json.ERROR_RESPONSE_BODY:连接拒绝执行POST http:// external-service / external / payments json.message:发送付款添加付款失败出于其他原因:{ERROR_RESPONSE_BODY =连接拒绝执行POST http:// external-service / external / payments,EVENT = ADD_PAYMENT_FAILURE,TRANSACTION_ID = XXXXXXX} {} json.EVENT:ADD_PAYMENT_FAILURE json.stack_trace:feign.RetryableException:连接拒绝执行POST http:// external-service / external / payments 在feign.FeignException.errorExecuting(FeignException.java:67)在feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:104)在feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)在feign.ReflectiveFeign $ FeignInvocationHandler.invoke(Reflective) Java:103)

是否可以在Feign客户端上添加Spring Retry。我想用什么来注释addPayment操作

@Retryable(value …
Run Code Online (Sandbox Code Playgroud)

spring spring-retry spring-boot spring-cloud spring-cloud-feign

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

Scala用于理解性能

为什么是

for (
  a <- 1 to 1000;
  b <- 1 to 1000 - a;
  c <- 1 to 1000 - a - b;
  if (a * a + b * b == c * c && a + b + c == 1000)
) println((a, b, c, a * b * c))
Run Code Online (Sandbox Code Playgroud)

266毫秒

慢一点:

for (a <- 1 to 1000)
  for (b <- 1 to 1000 - a)
    for (c <- 1 to 1000 - a - b)
      if …
Run Code Online (Sandbox Code Playgroud)

algorithm performance scala

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

Ruby注入功能

为什么第二个没有返回与第一个相同的值?

puts (3..5).map{|n| n**3}.inject{|sum,n| sum + n}
puts (3..5).inject{|sum,n| sum + n**3}
Run Code Online (Sandbox Code Playgroud)

216 192

ruby

5
推荐指数
2
解决办法
2246
查看次数

为什么使用Eureka?

我正在建立基于Netflix Eureka的微服务,并在Spring-cloud之上进行实验,经过数周的研究和开发,问题就出现了!

为什么我需要Eureka和spring-cloud?

为什么不开发你的独立容器并将它们作为pods 部署在Kubernetes上并从那里维护一切?

您也可以支持Kubernetes的负载平衡,服务注册,监控,容器化等.

以下是我能想到的一些观点:

  • 开发者友好
  • 降低整个堆栈的服务器成本
  • 减少OPS依赖
  • 有关开发人员社区和教程的更多资源
  • 渐进的学习曲线

kubernetes microservices spring-cloud netflix-eureka

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

Spring Cloud Zuul网关401基本认证

我正在使用Spring Cloud Zuul网关放在我的春季启动应用程序前面.我在应用程序端使用基本授权.当我使用适当的授权标头呼叫网关时,我总是获得401 Unauthorized

"status": 401,
"error": "Unauthorized",
"message": "Full authentication is required to access this resource"
Run Code Online (Sandbox Code Playgroud)

但是,当我直接向应用程序提出请求时,它可以工作.

spring-cloud spring-cloud-netflix

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