43 Matching Annotations
  1. Dec 2022
  2. Aug 2022
    1. 远程的服务在哪里(服务发现)、有多少个(负载均衡)、网络出现分区、超时或者服务出错了怎么办(熔断、隔离、降级)、方法的参数与返回结果如何表示(序列化协议)、如何传输(传输协议)、服务权限如何管理(认证、授权)、如何保证通信安全(网络安全层)、如何令调用不同机器的服务能返回相同的结果(分布式数据一致性)等一系列问题,就需要设计者耗费大量的心思

      分布式设计的核心概念

  3. Jan 2019
  4. Nov 2018
    1. 这样启动时不需要和 Zookeeper 通讯获取 Worker ID. 做到了完全的去中心化

      分布式网络内的 workerid 有些情况下是通过一个中心服务器分配的

      如果我们使用 mac 地址,或者其它机器自身唯一属性作为 workerid,则可实现去中心化

    2. snowflake生成的ID整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由datacenter和workerId作区分),并且效率较高。这个算法单机每秒内理论上最多可以生成1000*(2^12),也就是400W的ID。

      41位毫秒时间戳 10位机器编号 12位毫秒内序列号

      单机 12位毫秒序列号 1 毫秒内最多生成 2^12 = 4096 个

      单机 1 秒内最多生成 409.6w 个