gitbucket / gitbucket

A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility

Home Page:https://gitbucket.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitBucket cluster

takezoe opened this issue · comments

Considering to make it possible to run GitBucket using multiple servers for load balancing or/and HA.

Listing obstacles and potential solutions below:

  • HttpSession
    • Use sticky session or configure an application server to share session across multiple servers
      • Shared disk + --save_sessions (FileSessionDataStore)
      • Support cookie session or JDBCSessionDataStore in the future
  • Cache
    • Provide an option to disable cache for now #3245
    • Support external cache server or shared file system backed cache in the future
  • File system
  • Database
    • Use a shared external database
  • Plugins
    • Some plugins (e.g. CI plugin) don't work on multiple servers properly
    • Some plugins may require additional file system sharing (e.g. Gist plugin uses GITBUCKET_HOME/gist)
  • activity.log
    • Written in GITBUCKET_HOME/activity.log and shown in the dashboard
    • Better to migrate back to RDB? or add an option to disable showing on the dashboard? #3246