kingshard簡介
kingshard是一個由go開發高性能mysql proxy項目,kingshard在滿足基本的讀寫分離的功能上,緻力于簡化mysql分庫分表操作;能夠讓dba通過kingshard輕松平滑地實作mysql資料庫擴容。 kingshard的性能是直連mysql性能的80%以上。
主要功能:
基礎功能
支援sql讀寫分離。
支援透明的mysql連接配接池,不必每次建立連接配接。
支援平滑上線db或下線db,前端應用無感覺。
支援多個slave,slave之間通過權值進行負載均衡。
支援強制讀主庫。
支援主流語言(java,php,python,c/c++,go)sdk的mysql的prepare特性。
支援到後端db的最大連接配接數限制。
支援sql日志及慢日志輸出。
支援sql黑名單機制。
支援用戶端ip通路白名單機制,隻有白名單中的ip才能通路kingshard。
支援字元集設定。
支援last_insert_id功能。
支援動态修改kingshard部配置設定置項(具體參考管理端指令)。
2 . sharding功能
支援按整數的hash和range分表方式。
支援按年、月、日次元的時間分表方式。
支援跨節點分表,子表可以分布在不同的節點。
支援跨節點的count,sum,max和min等聚合函數。
支援單個分表的join操作,即支援分表和另一張不分表的join操作。
支援跨節點的order by,group by,limit等操作。
支援将sql發送到特定的節點執行。
支援在單個節點上執行事務,不支援跨多節點的分布式事務。
支援非事務方式更新(insert,delete,update,replace)多個node上的子表。
kinshard文檔
kingshard安裝和使用
[1.安裝kingshard]
[2.如何利用一個資料庫中間件擴充mysql叢集——kingshard使用指南]
[3.kingshard sharding介紹]
[4.kingshard按時間分表功能介紹]
[5.kingshard 快速入門]
[6.管理端指令介紹]
[7.kingshard sql黑名單功能介紹]
[8.kingshard的faq]
kingshard架構與設計
[1.kingshard架構設計和功能實作]
[2.kingshard性能優化之網絡篇]
[3.kingshard性能測試報告]
回報
kingshard開源以來,經過不斷地疊代開發,功能較為完善,穩定性有較大提升。目前已有上十家公司在生産環境使用kingshard作為mysql代理。