現在、Heroku で Sinatra を使用しています。唯一の同期はデータベースです。したがって、データベースに保存されているセッションが必要です (ActiveRecord を使用しないことをお勧めします)。
これを行うための Rack ミドルウェアまたは何か他のものはありますか?
セッション ストアにデータベースを使用する代わりに、Herokuで memcache アドオンを使用できます。memcachierのドキュメントでそれについて読むことができます
memcache をセッション ストアとして設定するための Sinatra スニペット
require 'rack/session/dalli'
mem_serv, mem_uname, mem_pword = ENV['MEMCACHIER_SERVERS'], ENV['MEMCACHIER_USERNAME'], ENV['MEMCACHIER_PASSWORD']
cache = Dalli::Client.new(mem_serv, {:username => mem_uname, :password => mem_pword})
use Rack::Session::Dalli, :cache => $cache
セッション ストアとしての IMO memcache は、データベースを使用するよりもはるかに理にかなっています。私が考えることができる他の代替手段は、Redis をセッション ストアとして使用することです。