public EurekaUpdatingListenerBuilder leaseDurationMillis(long leaseDurationMillis) {
        checkArgument(leaseDurationMillis > 0,
                      "leaseDurationMillis: %s (expected: > 0)",
                      leaseDurationMillis);

        final int leaseDurationSeconds = Ints.saturatedCast(
                TimeUnit.MILLISECONDS.toSeconds(leaseDurationMillis) +
                (leaseDurationMillis % 1000 != 0 ? 1 : 0));

        instanceInfoBuilder.leaseDurationSeconds(leaseDurationSeconds);
        return this;
    }
Sets the lease duration in milliseconds. {@code 90000} (90 seconds) is used by default and it's not
recommended to modify this value. Eureka protocol stores this value in seconds internally, and thus
this method will convert the given duration into seconds, rounding up its sub-second part. See
<a href="https://github.com/Netflix/eureka/wiki/Understanding-eureka-client-server-communication#renew">
renew</a>.
eureka/src/main/java/com/linecorp/armeria/server/eureka/EurekaUpdatingListenerBuilder.java