Twitter開源MySQL集羣管理框架Mysos

Mysos是一個用於運行MySQL實例的Apache Mesos框架。它極大地簡化了MySQL集羣的管理,具備高可靠性、高可用性及高可擴展性等特色。有關其具體功能,能夠查看InfoQ前期的報道node

Mysos須要Python 2.7及Mesos Python綁定。其中,後者包含兩個Python包。mesos.interface位於PyPI上,能夠自動安裝。但mesos.native是平臺依賴的,用戶須要在本身的機器上構建(相關命令),或者下載相應平臺的編譯版本(Mesosphere提供了部分Linux平臺的egg文件)。 mysql

Mysos主要包含以下兩個組件: git

  • mysos_scheduler:用於鏈接Mesos主節點及管理MySQL集羣;
  • mysos_executor:用於啓動Mesos從節點(基於mysos_scheduler請求)執行MySQL任務。

這兩個組件能夠單獨構建和部署,也能夠使用PEX將兩者及其依賴包打包成一個可執行文件(具體過程參見這裏)。 github

Mysos提供了一個REST API,用於在Mesos上建立和管理MySQL集羣。下面是集羣建立的示例代碼: sql

curl -X POST 192.168.33.7/clusters/test_cluster3 --form "cluster_user=mysos" \ --form "num_nodes=2" --
form "backup_id=foo/bar:201503122000" \ --form 'size={"mem": "512mb", "disk": "3gb", "cpus": 1.0}'

其中,集羣名稱爲test_cluster3,cluster_user指定了對集羣中全部MySQL實例都擁有管理員權限的用戶,num_nodes指定了集羣節點數,backup_id指定了MySQL實例啓動時須要從哪一個MySQL備份恢復,size指定了分配給實例的資源。該命令會返回用於訪問MySQL實例的密碼以及集羣URL。 apache

Mysos是Twitter和Mesosphere合做的產物。爲了該項目的長遠發展,在將其開源的同時,Twitter也向Apahce基金會提交了孵化提案,但願以這種方式確保該項目遵循Apache 2.0許可協議,促進Mysos社區的發展壯大。 框架

相關文章
相關標籤/搜索