Apache ShardingSphere 的 5.x 版本正在開發中,其中 API 的設計是重中之重。目前大部分 API 都已定型,對于用戶使用最廣泛的分片算法 API,目前也已經做了較大幅度的更新。5.x 是 Apache ShardingSphere 向可插拔架構轉型的重大變革版本,為了讓 API 設計的更加合理,現征集社區的想法,公開討論。
目前有2個主要問題需要討論:
問題1:
Apache ShardingSphere 添加了一種新的自動分片的表類型。自動分片表可以根據分片算法自動分配實際的 DataNode,用戶無需再關注數據庫中真實的物理表的具體分布情況。
自動表分片算法的配置與之前的標準分片算法類似。在目前的 API 設計中,分片算法 API 增加了一個新接口
ShardingAutoTableAlgorithm,它能夠被原始的 StandardShardingAlgorithm 接口所繼承。
Apache ShardingSphere 4.x版本中的算法類型為Standard、Complex、Hint 和 None,Apache ShardingSphere 是否需要添加一種全新的分片算法來將它們完全分開? 如果需要,什么名字比較合適?
問題2:
Apache ShardingSphere 使用 SPI 引入了所有的算法。與 4.x 版本的方式不同,用戶無法再使用類名的方式來配置定制化的分片算法。
Apache ShardingSphere 是否需要添加提供讓用戶配置類名的內置算法類型?如果提供,該新算法類型將與當前的 INLINE 類型類似。
期待社區的同學一起參與討論,Apache ShardingSphere 5.x API 的設計需要更多人的參與和決策。
討論郵件地址:
https://lists.apache.org/thread.html/r0328a5ed6774b3dee10bca00bc83377abc3aad01bca82c6dc3bc18e8%40%3Cdev.shardingsphere.apache.org%3E