<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # The Dollar Shave Club Architecture Unilever 以 10 億美元的價格被收購 > 原文: [http://highscalability.com/blog/2016/9/13/the-dollar-shave-club-architecture-unilever-bought-for-1-bil.html](http://highscalability.com/blog/2016/9/13/the-dollar-shave-club-architecture-unilever-bought-for-1-bil.html) ![](https://img.kancloud.cn/af/d5/afd5390c0ab1589e1c5b6027a7338732_207x285.png) *這是 [Jason Bosco](https://www.linkedin.com/in/jasonbosco) , [Dollar Shave Club [ HTG12 的核心平臺&基礎架構工程總監,介紹其電子商務技術的基礎架構。](https://www.dollarshaveclub.com/)* Dollar Shave Club 擁有 300 萬以上的會員,今年的收入將超過 2 億美元。 盡管大多數人都熟悉該公司的市場營銷,但是自成立以來短短幾年內的巨大增長主要歸功于其 45 名工程師的團隊。 Dollar Shave Club 工程學的數字: ## 核心統計信息 * 超級碗廣告的投放沒有停機時間:1 * 每月流量帶寬:9 TB * 通過 Arm 處理的訂單:3800 萬張訂單 * 發現的錯誤總數:4,566 * 自動化測試成績:312,000 * 通過語音發送的電子郵件:1.95 億封電子郵件 * 處理并存儲在海馬中的 Analytics(分析)數據點:5.34 億 * 海馬中的數據集大小:1.5TB * 當前已部署的應用程序/服務:22 * 服務器數量:325 ## 技術堆棧 * 前端框架的 Ember * 主要在后端上使用 Ruby on Rails * 用于高吞吐量后臺處理需求的 Node.js(例如:在語音中) * 用于基礎結構軟件的 Golang * 用于基礎架構的 Python &數據科學 * 用于 1 個內部應用程序的 Elixir * 用于測試自動化的 Ruby * 適用于本機 iOS 應用程序的 Swift 和 Objective C ## 基礎結構 * 完全托管在 AWS 上 * Ubuntu & CoreOS * 用于配置管理的&地形 * 過渡到基于 Docker 的部署 * Jenkins 用于部署協調 * Nginx &清漆 * 快速交付應用程序 * 摘要匯總日志 * 用于安全監視的 CloudPassage * HashiCorp 的保管箱,用于秘密存儲&設置 ## 數據存儲 * 主要是 MySQL 托管在 RDS 上 * 托管在 Elasticache 上的 Memcached 用于緩存 * 自托管 Redis 服務器主要用于排隊 * 有點 Kinesis,用于處理來自尖峰流量的訂單 * Amazon Redshift 用于數據倉庫 ## 消息傳遞&排隊 * Resque 和 Sidekiq 用于異步作業處理&消息傳遞 * 用于消息傳遞的 RabbitMQ * Kafka 用于流處理 ## 分析&商業智能 * 掃雪機&用于網絡/移動分析的 Adobe Analytics * AWS Elastic MapReduce * 將 FlyData 從 MySQL 轉換為 ETL 數據到 Redshift * 托管 Spark Databricks * Looker 作為 BI 前端 * 用于報告的近實時數據可用性 ## 監控 * Rollbar,哨兵&用于異常跟蹤的 Crashlytics * 用于自定義應用程序指標的 DataDog &指標聚合 * SysDig 用于基礎結構度量&監視 * 用于應用程序性能監視的 NewRelic * Site24x7,用于可用性監視 * PagerDuty,用于通話提醒 ## 質量檢查和測試自動化 * CircleCI 用于運行單元測試 * Jenkins + TestUnit + Selenium + SauceLabs 用于基于瀏覽器的自動化測試 * Jenkins + TestUnit +硒+ SauceLabs 用于大腦自動測試 * 用于 API 功能測試的 Jenkins + TestUnit * Jenkins + TestUnit + Appium + SauceLabs 用于原生 Android 自動化測試 * Jenkins + TestUnit + Appium + SauceLabs 用于本地 iOS 自動化測試 * Jenkins + TestUnit +硒+ SauceLabs +用于 BI 測試自動化的代理服務器 * SOASTA +正則表達式腳本,用于壓力,浸泡,負載和性能測試。 ## 工程工作流程 * 跨團隊交流的時間 * Trello,用于任務跟蹤 * 具有自定義插件的 Hubot 作為我們的聊天機器人 * Github 作為我們的代碼存儲庫 * ReviewNinja 與 Github Status API 集成,用于代碼審核 * 連續部署-通常每天進行多次部署 * 轉向持續交付 * 用于功能開發的即時沙盒環境 * 目前,使用 Jenkins 的單按鈕推送部署正在朝著持續交付的方向發展 * 運行 docker 容器的游民箱= >為新工程師提供的功能齊全的開發環境,第一天就開始 ## 架構 * 事件驅動的架構 * 從單片架構轉變為通過公共消息總線進行交互的“中型”服務 * CDN 邊緣上基于 VCL 的邊緣路由,就像其他任何應用程序一樣部署。 * Web 和移動前端與 API 層進行對話 * API 層與服務進行對話,聚合數據并為客戶端格式化數據 * 服務與數據存儲和消息總線進行對話 * 計劃任務作為一項主任務運行,并在 resque / sidekiq 中分解為較小的任務 * 技術組件包括用于客戶服務(Brain),市場營銷自動化平臺(Voice),履行系統(Arm),訂閱計費系統(Baby Boy)和我們的數據基礎架構(Hippocampus)的內部工具。 ## 小組 * 45 位頂尖的企業家和高技能工程師在加利福尼亞總部瑪麗娜·德爾·雷伊工作 * 工程師與產品經理,設計師,UX 和利益相關者一起參與稱為小分隊的跨職能團隊,以提供端到端功能。 * 團隊根據域被垂直劃分為前端,后端和質量檢查& IT。 * 前端團隊擁有 DSC.com &內部工具的 Web UI 和我們的 iOS & Android 應用。 * 后端團隊擁有 DSC.com &內部工具,內部服務(計費和履行),數據平臺&基礎結構的 Web 后端。 * 質量檢查團隊擁有所有數字產品的測試和自動化基礎架構。 * IT 團隊擁有辦公室& Warehouse IT。 * 工程師每年參加一次公司贊助的會議。 * 工程師可以購買所需數量的書籍/學習資源。 * 所有人的站立式辦公桌。 目前可提供一張跑步機作為飛行員。 * 每周的工程團隊午餐。 * Tech Belly 每隔一周舉行一次活動,工程師們在午餐時間就技術主題進行演講。 * 鼓勵工程師嘗試最前沿的技術,并通過提案請求(RFC)創建提案。 * 鼓勵工程師在有意義的地方開源工具和庫 * 每位工程師都會獲得標準版的 15 英寸 Mac Book Pro,27 英寸 Mac Display 和 24 英寸顯示器。 * 一臺 3D 打印機可用于打印道具和更多 3D 打印機。 ## 獲得的經驗教訓 * 當您要擴展的組件由簡單的小型服務組成時,擴展將變得更加容易。 * 文檔&知識共享對于快速成長的團隊至關重要。 * 培養良好的測試套件對于快速發展的系統至關重要。 * Redis 使用一種近似的 LRU 算法,因此如果您對緩存有明確的 LRU 要求,則不適合使用 * 網絡性能至關重要,尤其是在移動設備上-每毫秒都會使我們損失收入 * 可用性&即使對于內部工具,用戶體驗也很重要:高效的工具=生產力更高的團隊 [關于 HackerNews](https://news.ycombinator.com/item?id=12490369) 您為什么決定自己托管 Redis? 我假設您將在 ElastiCache 上運行 Redis(使用復制組以提高可用性)。 此外,為什么還要在 Elasticache 上托管 memcached? 似乎是一個非常標準的現代堆棧。 很高興為他們工作! 真正的問題是,他們向聯合利華公司技術堡壘的過渡將是什么樣子。 我想我的問題是,為什么您需要 45 名工程師才能完成基本上是一個帶有訂閱選項的小型目錄? 文檔首次出現很重要。 您使用什么基礎設施和流程來保持其相關性? 為什么這家公司需要運行這么復雜的系統? 并不是實時地有成千上萬個請求的技術公司。 似乎是一種聽起來過于酷炫的過度設計的解決方案。 也許他們在做一些我看不到的大而復雜的事情。 所以我很好奇。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看