每当我用Java编写带有更多关键字的方法时public void,每次我用另一种方式编写它.有时" static public void"有时" public static void"等.
这些关键字的最佳订单(最佳做法)是什么?
[ abstract/static] [ final] [ synchronized] [ public/private/protected] [ result_type] ???
这更多的是一个系统设计问题。
假设我有一个微服务架构,并且有X 个实例(用于Service B对服务的 HTTP 请求进行负载平衡)。但是,Service B也是消费者对一些 Kafka 话题的关注。如何避免处理同一条消息X 次(X 是 的实例数Service B)?at least once如果处理是幂等的,那就没问题了。不需要exactly once,但也不可能X times。
服务 A 可以是订单服务。它生成有关用户向Orders topic下订单的消息。
服务 B 可以是支付服务。它使用来自Orders 主题的消息来向用户收费。
支付订单可能是幂等操作。但是,如果我有 10 个 Payment Service 实例,我不想浪费 CPU 和 IO 来做某件事 10 次。
即使分区是答案,如果特定微服务的实例比分区多怎么办?