heroku 提供的免費資料庫是5m postgres,有點小。在heroku的addons裡面發現了兩個mogodb的資料庫 mongolab和mongohq
mongolab的免費版240mb,宣告只用於開發和測試。先不管那麼多,直接新增mongolab外掛程式,結果發現賬戶要驗證才可新增,驗證賬戶必須要提供信用卡資訊。暫時不想提供信用卡,找到乙個辦法,就是自己到mongolab**上自己申請乙個賬戶再建立資料庫。
在mongolab上設定好資料庫以後。
先在本地除錯一下,使用mongoid 3.x,修改gemfile:
gem "mongoid", "~> 3.0.3"
gem "mongoid_rails_migrations", "~> 0.0.14"
gem 'mongoid_auto_increment_id', "0.5.0"
gem 'bson_ext'
然後執行:bundle install --without production
接著修改config/mongoid.xml的配置如下:
defaults: &defaults本地測試ok,然後我們先設定一下heroku的環境變數,命令如下:options:
identity_map_enabled: true
development:
<<: *defaults
sessions:
default:
uri: mongodb:
options:
skip_version_check: true
safe: true
heroku config:set q_mongolab_uri=mongodb:
然後config/mongoid.xml裡新增:
production:這樣做的目的是不再配置檔案中暴露資料庫的資訊,而把資料庫資訊放到環境變數中。相對安全一些。<<: *defaults
sessions:
default:
uri: <%= env['q_mongolab_uri'] %>
options:
skip_version_check: true
safe: true
然後push到heroku, 結果執行出錯,檢視 heroku logs報錯也很簡單:nomethoderror: undefined method `' for nil:nilclass。
到mongoid.org上找到這個發現heroku預設的ruby是1.9.1 .需要在gemfile指定為ruby 1.9.3.
修改gemfile
ruby '1.9.3'
不過bundle版本得是1.2.0rc以上,所以先執行 gem install bundler --pre,這樣本地bundle instal才能執行。
最後push到heroku,成功執行了。
另乙個mongohq我還沒有試過,應該也可以這樣使用,因為mongohq.com也是可以免費註冊並建立免費資料庫的。
51信用卡在微服務架構下的監控平台架構實踐
51信用卡的技術架構是基於spring cloud所打造的微服務體系,隨著業務的飛速發展,不斷增多的微服務以及指標給監控平台帶來了極大的挑戰。監控團隊在開源vs自研,靈活vs穩定等問題上需要不斷做出權衡,以應對飛速發展的需求。本次將會分享我們在微服務下的白盒監控思考,以及如何將時下社群流行的spri...
51信用卡在微服務架構下的監控平台架構實踐
51信用卡的技術架構是基於spring cloud所打造的微服務體系,隨著業務的飛速發展,不斷增多的微服務以及指標給監控平台帶來了極大的挑戰。監控團隊在開源vs自研,靈活vs穩定等問題上需要不斷做出權衡,以應對飛速發展的需求。本次將會分享我們在微服務下的白盒監控思考,以及如何將時下社群流行的spri...
無卡支付時代 銀行信用卡聯手京東金融欲打翻身仗
網際網路金融的興起帶動了消費金融的快速發展,很多平台紛紛利用消費分期來提公升交易額,同時,那些具有網際網路基因的電商平台也大大增加了使用者粘性。伴隨著整個消費大潮從線上向線下回歸,消費金融也開始重新向線下市場滲透,然而,線下消費金融一直是傳統金融機構的戰場,如今,在新技術的衝擊下,傳統金融機構不得不...