分布式技術之分布式ID和分布式事務

2021-10-19 13:38:37 字數 1625 閱讀 5702

mycat不支援只能使用在sharding jdbc中

public class mysharding implements preciseshardingalgorithm

}

spring.shardingsphere.sharding.tables.t_order.actual-data-nodes=ms$->.t_order_$->

spring.shardingsphere.sharding.tables.t_order.database-strategy.inline.sharding-column=user_id

spring.shardingsphere.sharding.tables.t_order.database-strategy.inline.algorithm-expression=ms$->

spring.shardingsphere.sharding.tables.t_order.table-strategy.standard.sharding-column=order_id

spring.shardingsphere.sharding.tables.t_order.table-strategy.standard.precise-algorithm-class-name=com.example.shardingjdbcdemo.sharding.mysharding

spring.shardingsphere.sharding.tables.t_order.key-generator.column=order_id

spring.shardingsphere.sharding.tables.t_order.key-generator.type=uuid

id序列生成器mycat支援,sharding jdbc不支援mycat兩種方式:本地檔案方式和資料庫方式優點:集中管理避免重複

缺點:併發量大時,id生成器壓力大 

配置方式

1 server.xml中sequencehandlertype的0為本地檔案方式,1為資料庫方式執行dbseq.sql

2 sequence_conf.properties

3 schema.xml中table標籤增加屬性 autoincrement="true" primarykey="id"

使用方式insert into o_order (total_amount,order_status)values(88,3)或者不配置schema的時候如下使用

mysql5.7及以上均支援xa協議

分布式之分布式事務

被人問到分布式事務,之前學rabbitmq 的時候學到過rabbitmq 高階的事務,因為沒有用過,所有沒有回答好。這裡總結一下。1.單機版事務。事務的四大特性 acid a.原子性 b.一致性 c.隔離性 d.永續性 單機事務可以通過設定事務的隔離級別 參見spring 的事務隔離級別 2.分布式...

分布式 分布式鎖

本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...