技術事業群-研發七處-遊戲研發二部-創新研發組Ed_Lo

@rd7-edlo

Joined on May 4, 2020

  • Compute Engine 所有 GCE 相關設定都在這裡 GCE : Google Compute Engine 的簡稱,是由 GCP 提供的 VM 及相關資源 創建個體 筆記 區域- 影響可共用的==網路介面== ~e.g.~ ~台灣~ 機器設定- 機器配置, 注意 :money_with_wings: :money_with_wings:
     Like  Bookmark
  • Service An abstract way to expose an application running on a set of Pods as a network service. With Kubernetes you don't need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them. 根據官方定義,Service 是 k8s 內定義的抽象化物件(object),看一下詳細說明: Service(k8s 官網) Kubernetes Service 概念詳解 Kubernetes Service 取路徑差異
     Like  Bookmark
  • Container 容器簡介:什麼是容器?(google) 重點節錄 容器提供一種邏輯封裝機制,能夠將應用程式從實際執行所在環境抽取出來。無論目標環境是私人資料中心、公用雲端還是開發人員的個人筆記型電腦,這種分離的方式都可以==輕鬆、一致地部署==容器型應用程式。容器化提供了一種俐落的==分工模式==,當==開發人員專注於應用程式邏輯與依附元件==時,==IT 營運團隊可將注意力集中到部署與管理==上,而不用擔心諸如特定軟體版本與應用程式特定設定之類的應用程式細節。 容器不像虛擬機器會將==硬體堆疊虛擬化==,而是會在==作業系統層級進行虛擬化==,讓多個容器直接在 OS 核心之上執行。這表示==容器遠比虛擬機器輕量==,不但共用 OS 核心、啟動速度較快,而且使用的記憶體量也比啟動完整 OS 要少很多。 容器讓開發人員能夠建立可以預測的環境,而且這個==環境是與其他應用程式隔離開的==。容器也可能包含應用程式需要的軟體依附元件,例如特定版本的程式設計語言執行階段與其他軟體程式庫。從開發人員的角度來看,無論最終應用程式將部署到何處,這==一切都能保證一致==。這一切全都代表生產力:開發人員與 IT 營運團隊可以==減少花費在偵錯與診斷環境差異上的時間,而將更多時間用在為使用者提供新功能==。而且開發人員現在可以在開發與測試環境中,做出同樣適用於實際工作環境的假設,因此錯誤的發生機率也會隨之降低。
     Like  Bookmark
  • k3d 是一個輕量級的包裝器,用於在 docker 中運行 k3s k3s 是 Rancher 的最小 k8s 發行版 k3d 使得在 docker 中創建單節點和多節點 k3s 集群變得非常容易,例如用於 k8s 上的本地開發。 :::info k3d 是一個社群驅動(community-driven)的項目,由 Rancher (SUSE) 支持,它不是官方的 Rancher (SUSE) 專案。 :::
     Like  Bookmark
  • 在 GCP 利用映像檔上建立 VM 實例 Lab-0 建立一台 VM instance # 初始化專案 terraform init # 預覽部署結果 terraform plan # 套用設定
     Like  Bookmark
  • Cloud Source Repositories 是 GCP 提供的 code repo service 類似 github 的代碼倉庫 功能介面相對簡單(陽春),也支援簡單的 CI 功能 除了建立新的 repo ,他也支援將現有的 repo(如 github 或 Bitbucket 等)連結進來 好處是透過 GCP 的 IAM 整合,管理專案權限相對輕鬆,搭配 Cloud Build 可以做到自動整合/部署 使用前記得先產一組 ssh key 註冊到 Source Repo
     Like  Bookmark
  • 預計將 pomelo 升至最新版: 2.2.7,同時將環境的 node js / npm / typscript 一並升級 當前的 node js LTS 為 14.17.3 對應的 ts 版本為 4.3.5 Node js 升級 首先要安裝 nvm - Node Version Manager 可以透過 terminal 直接安裝 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
     Like  Bookmark
  • 何謂 Terraform ? 根據 IBM Cloud 學習中心的介紹,terraform 是一套宣告式編碼工具,他可以讓開發人員安全有效地建置與變更基礎架構並對其進行版本化,是知名軟體公司 hashicorp 的產品 類似的工具: pulumi 特色 開放原始碼:Terraform 獲得大型貢獻者社群支援,他們為平台建置了外掛程式。 無論您使用哪一個雲端提供者,都可以輕鬆找到外掛程式、延伸及專業支援。 這也意味著 Terraform 發展迅速,不斷增加新的好處和改進。 平台中立:表示您可以搭配它與任何 的雲端服務提供者一起使用。大部分其他的 IaC 工具都設計成與單一雲端提供者合作。 不可變基礎架構:大部分的「基礎架構即程式碼(IaC)」工具會建立可變==基礎架構==,這表示基礎架構可進行變更以因應變動,例如中介軟體升級或新的儲存伺服器。 可變基礎架構的危險是配置漂移,隨著變更逐漸增多,實際佈建不同的伺服器或其他基礎架構元素將會進一步從原始配置「漂移」,使得錯誤或效能問題難以診斷及更正。 Terraform 佈建的是不可變基礎架構,這表示隨著環境每一次變更,將現行配置取代為因應變更的新配置,然後重新佈建基礎架構。 更棒的是,先前的配置可以保留為不同版本,以在必要或需要時啟用回復。
     Like  Bookmark
  • 這篇共筆主要是記錄將 Pomelo 分散式部署在 k8s 上的研究(踩雷)過程 pomelo 是網易開發的分散式遊戲 server 引擎,目前已經停止維護 pomelo 的設計理念類似 k8s,差別在 pomelo 是以實體機器(包括虛擬機)為對象,不像 k8s 是以容器來設計 部署相關問題 SSH 連線 between Pods 要將 pomelo 跑在 k8s 上,有個最大困難要先克服:
     Like  Bookmark
  • 所謂的負載平衡器,其實是由多個組件組合而成 抽象來說,就是 Frontend 及 Backend Frontend 指的是前端暴露到網際網路上的端口,可能是 http(s) ,tcp 或 udp Backend 指的是實際處理請求的對象,可能是一個(或多個)實例,或者是一個抽象的 k8s service 因此在設定上,我們有不同的選擇,視需求而定:
     Like 1 Bookmark
  • 節錄自:qwiklabs GSP767 Exploring Cost-optimization for GKE Virtual Machines Cost Analysis You're now running the same workload which required three e2-medium machines on one e2-standard-2 machine. Take a look at the hourly cost for having an e2 standard and shared core machine types up: The cost of three e2-medium machines would be about $0.1 an hour while one e2-standard-2 is listed at about $0.067 an hour. Saving $.04 an hour may seem small, but this cost can add up over the lifetime of a running application. It would be even more noticeable at a larger scale too. Because the e2-standard-2 machine can pack your workload more efficiently and there's less unused space, the cost of scaling up would grow less quickly.
     Like  Bookmark
  • st=>start: Start condBet=>condition: 大廳下注? condEnter1=>condition: 進桌? condEnter2=>condition: 進桌? condSameTable1=>condition: 與下注同一桌? condSameTable2=>condition: 與下注同一桌? condBetInTable1=>condition: 進桌下注? condBetInTable2=>condition: 進桌下注? condBetInTable3=>condition: 進桌下注? reconnect1=>operation: 斷線重連
     Like  Bookmark
  • ELK 是由三個服務 - Elasticsearch、Logstash、Kibana 組合起來的開源日誌管理方案,提供 Log 蒐集、分析、查詢系統等,以下簡單介紹這三個服務: Elasticsearch:是一個實時的分佈式搜索分析引擎,它能讓你以前所未見的速度和規模,去探索你的數據。它被用作全文檢索、結構化搜索、分析以及這三個功能的組合。 logstash:是一款輕量級的日誌搜集處理框架,可以方便的把分散的、多樣化的日誌搜集起來,並進行自定義的處理,然後傳輸到指定的位置,比如某個伺服器或者文件。 Kibana:開源的數據分析和可視化平台,它是 Elastic Stack 成員之一,設計用於和 Elasticsearch 協作。您可以使用 Kibana 對 Elasticsearch 索引中的數據進行搜索,查看,交互操作。您可以很方便的利用圖表,表格及地圖對數據進行多元化的分析和呈現,基於瀏覽器的界面便於您快速創建和分享動態數據儀表板來追踪 Elasticsearch 的實時數據變化。 目前所使用的 ELK 為 opensource 的 docker 版本,最新支援到 Elasticsearch 7.8.0,可以永久使用 Basic license。 Log 搜集方式 因為開發、測試站都是使用 GCP 的虛擬機,有權限及網路控管,為了更方便查詢 log,所以就使用 ngrok 做 webhook 中繼
     Like  Bookmark
  • 這篇筆記主要目的,是讓開發人員可以在本機 local 環境下架設私有鏈,以供開發及測試遊戲。 Prerequisite Docker Desktop for Mac EOSIO binaries EOSIO Contract Development Toolkit(CDT) 在正式環境下,因為 os 是 RedHat 7.x,而且是最乾淨的那種,所以需要另外安裝套件才有辦法安裝 eosio bin,這部份最後再補充。
     Like  Bookmark