面試刷題31 分布式ID設計方案

2021-10-04 19:47:22 字數 886 閱讀 4646

面試中關於分布式的問題很多。(分布式事務,基本理論cap,base,分布式鎖)先來乙個簡單的。

簡單說一下分布式id的設計方案?

首先要明確在分布式環境下,分布式id的基本要求。

1, 全域性唯一,在分布式集群下,不同的節點並發生成的分布式id要唯一;

2, 順序性,分布式id是有序生成

然後給出分布式id的設計方案。

1, 基於資料的自增id生成分布式id,使用比較簡單,缺點是擴充套件性和可靠性有限;基於資料庫表的自增id

2,基於snowflake 演算法生成;

snowflake生成的分布式id是乙個64位整數;位數標識如下:

1 標識正負

41位,一般使用system.currenttimemilles()得到;

5 資料中心標識

5 機器ip標識

12 單位毫秒內可以生成的序數極限

snowflake的生成跟時間相關的使用的是system.currenttimemilles(),跟冬令時沒有關係。

可靠性: 即高可用 緊湊性: 64位的整數比較長,不太緊湊,作為索引,儲存不佔優勢。 有意義: 可以放入業務標識或者時間

受時間影響:需要保證分布式集群的時間同步,即ntp ;  可以**到:容易按照時間規律**到,進而影響安全性;

回答了分布式id的基本要求,已經常用方案。

重構 分布式ID設計方案

分布式id的生成方案有很多種,在網上都可以搜到。在這裡詳細介紹一下我們目前專案所用到的實際方案。一.id值獲取及表結構設計 1 獲取id值的介面 獲取唯一id的介面方法是由我們乙個基礎功能微服務提供,url如下 sequence getsequence 請求引數為 string prefix id值...

3 1 分布式檔案系統

檔案系統 定義 一種儲存和組織計算機資料的方法,利用抽象的檔案和目錄代替了電腦硬碟或者光碟使用資料塊的概念 原理 檔案系統將硬碟空間以塊為單位進行劃分,每個檔案都佔據若干塊,然後通過乙個檔案控制塊 file control block 記錄每個檔案佔據的硬碟資料塊 單機式檔案系統 定義 將檔案存在本...

分布式事務(二)分布式事務方案

首先這是普通事務 下面是分布式事務 在微服務系統中,每個微服務應用都可能會有自己的資料庫,它們首先需要控制自己的本地事務。一項業務操作可能會呼叫執行多個微服務。如何保證多個服務執行的多個資料庫的操作整體成功或整體失敗?這就是分布式事務要解決的問題。cap 和 base 是對大規模網際網路系統分布式實...