發表文章

目前顯示的是 2025的文章

分散式系統 Distributed Systems_Chapter 01: Introduction_Week1筆記_part2

就Policies(政策) 或 Mechanisms(技術機制) 各自實施作法比較 就Policies(政策)  我們需要對客戶端快取(client-cached)資料維持何種一致性層級?(What level of consistency) 我們允許下載的程式碼執行哪些操作?(Which operations do we allow downloaded code) 在面對不同頻寬時,我們會調整哪些服務品質(QoS)需求?(Which QoS requirements) 我們要求通訊具備何種等級的保密性?(What level of secrecy) 就Mechanisms(技術機制) Allow (dynamic) setting of caching policies 允許(動態)設定快取政策 Support different levels of trust for mobile code Provide adjustable Quality of Service (QoS) parameters per data stream 針對每個資料流提供可調整的服務品質(QoS)參數 Offer different encryption algorithms 策略與機制越嚴格的話,我們就越需要確保適當的機制,也因此會進而導致管理上與配置上的參數會更複雜。硬編碼(Hard coding)策略通常以降低靈活性的代價來簡化管理並降低複雜性。 Scale in distributed systems (怎麼定義系統具有可擴展性?) 至少有三個面向的可擴展性需要考慮: 使用者數量與/或程序數量(Size scalability) 系統能否隨著使用者或程序數量的增加而持續有效運作。 節點之間的最大距離(Geographical scalability) 系統能否在節點分布於更廣泛的地理範圍時,仍維持合理的效能與一致性。 管理領域的數量(Administrative scalability) 系統能否跨越多個獨立的管理領域(如不同組織或機構)而仍能協同運作。 需要明確說明系統在 規模、地理分布、管理領域 三個層面上如何應對挑戰。 絕大部分系統僅在「規模可擴展性(size scalability)」上有所考量,也就是隨著使用者或程序數量的增加,系統能否持續運作。...

分散式系統 Distributed Systems_Chapter 01: Introduction_Week1筆記_part1

Distributed System A distributed system is a collection of autonomous (自主性) computing elements that appears to its users as a single coherent system . Distributed Systems: Principles and Paradigms 一書中的定義 A distributed system is a collection of independent computers that appears to its users as a single coherent system. 由多個彼此獨立運作的節點(可能是硬體裝置或軟體程序)所組成的整體。這些節點透過協作來對外呈現為一個單一、一致的系統。 自主節點的集合且彼此要能相互協作才能組成分散式系統,讓User 用起來 或其他應用程式存取、就像是單體。 補充: 自主運算元素(Autonomous computing elements),也稱為節點(nodes),可以是硬體裝置或軟體程序。 單一一致的系統(Single coherent system):使用者或應用程式將其視為一個整體的單一系統。因此,節點之間必須進行協作;若缺乏協作,則無法構成分散式系統。 分散式系統中常見問題(Collection of autonomous nodes) Problem1.同步與協調問題(synchronization and coordination problems) 由於每個節點皆為自主運作,因此各自維持獨立的時間觀(own notion of time),系統中並不存在統一的全域時鐘(global clock)。這種特性引發了分散式系統中最根本的同步與協調問題。 Problem2.如何管理群組成員資格、如何確認你確實正在與一位已授權的(非)成員進行通訊? 開放式群組(Open group):任何人都可以加入並向其他人傳送訊息。 封閉式群組(Closed group):只有群組成員之間才能互相通訊,並且需要透過特定的加入與退出流程。 覆疊網路(Overlay network) 集合中的每個節點 僅與系統內的其他節點(即其鄰居)進行通訊 。鄰居的集合可能是動態變化的,甚至...

分散式系統報告參考資料

https://twiki.di.uniroma1.it/pub/Reti_elab/MZ/WebHome/Lezione_P2P-2.pdf https://www.kth.se/mwg-internal/de5fs23hu73ds/progress?id=Ve8FdOgvYxAWjFnLtpMJiEXbD4dLcRHhYDoiN98eH0E,&dl https://www.wikiwand.com/zh/articles/Vorbis https://news.post76.hk/2016/04/%E4%B8%B2%E6%B5%81%E9%9F%B3%E6%A8%82%E6%8A%80%E8%A1%93%E7%9F%A5%E5%A4%9Ad/

Spotify – Large Scale, Low Latency, P2P Music-on-Demand Streaming

Spotify – Large Scale, Low Latency, P2P Music-on-Demand Streaming https://www.csc.kth.se/~gkreitz/spotify-p2p10/spotify-p2p10.pdf https://ieeexplore.ieee.org/document/5569963 Peer-to-peer streaming of media content https://patents.google.com/patent/US8316146B2/en former Spotify CTO-Andreas Ehn https://marketrealist.com/tech-comm-services/andreas-ehn-spotify-now/ Gunnar Kreitz https://www.csc.kth.se/~gkreitz/ Ludvig Strigeus https://torrentfreak.com/utorrent-inventor-wins-prestigious-technology-innovation-award-221114/ Spotify 於 2008 年 10 月推出,截至2010(論文發表時間)於當時,已在六個歐洲國家擁有超過 700 萬名使用者。 服務提供兩種版本: 免費版(含廣告) 每月付費的高級版:高級版提供一些額外功能,例如以更高位元率串流音樂,以及同步播放清單以供離線使用。 兩種版本皆可無限制地串流音樂,而大多數使用者使用的是免費版。 Spotify 客戶端的一大特色是其低播放延遲。播放一首曲目的中位延遲時間為 265 毫秒。此服務並非根據網頁,而是使用專屬的客戶端與通訊協定。 市面上有諸多「隨選音樂串流服務」(on-demand music streaming services),在當時除Spotify之外,幾乎都是網頁型應用。通常使用 Adobe Flash 或網頁瀏覽器外掛程式進行串流。此外,它們都是純粹的Clinet-Server架構,並未採用P2P技術。在隨選串流領域中,點對點技術的應用在視訊隨選服務中更為普遍。 提供隨選串流的服務與檔案分享應用程式有許多共通之處。 例如,Spotify 用於尋找其他用戶的機制與 BitTorrent...

外匯(Forex / Foreign Exchange)術語知識

圖片
  在進行MetaTrader API界接封裝時,時常看到SDK官方文件諸多陌生的專業術語。 就剛好有機會做一個筆記。 https://www.forex.com/en-us/forex-trading/ 外匯(Forex / Foreign Exchange)術語知識 何謂外匯市場(Forex Market)? 是全球最大的金融市場每天交易量超過7萬億美元,不像股票有統一集中式交易所,是一個分散式網路系統。是一個24小時不停止的全球分散式交易市場,非單一交易所,比美股市場更大。 透過各大銀行、經紀商、金融機構在全球24小時不斷搓合報價並成交。 透過外匯交易賺錢的本質就是匯差,分兩種情況: 動態外匯(交易面):去跟其他外面國家做交易產生匯率的變化差異,指進出口、投資、避險等行為造成匯率變動與交易。。 靜態外匯(貨幣面):單指國外貨幣,例如「美元、日圓、歐元」。。 外匯跟股票最大差異? 除了不像股票一樣有固定開盤交易時段,周一至周五24小時都能進場。 外匯市場波動節奏會比股票來的更大。 另外股票通常是單向交易,要等漲後賣掉才有賺。有別於股票,外匯交易屬於雙向交易,漲也可賺、跌也可賺只要方向操作合理謹慎。 為何24小時開放? 因為外匯屬於全球性的交易市場,主要由亞洲、歐洲、美洲三大市場組成。 因為不同時區的國家輪流開盤,因此外匯市場從周一早上到周六凌晨一直持續運作。交易市場輪動不間斷交易。 亞洲盤有東京市場、悉尼市場在早上開市 歐洲盤倫敦市場在下午3點開市 美洲盤紐約市場在晚上8點多開市 何時做交易更好?(參考學習,非本人絕對建議習自網路) 若傾向做短線,最好是在市場較活躍比較有波動的時候,流動性較大。 比方下午3點歐洲盤開始發動時候,此時歐洲經濟數據也正在開始發布。適合交易歐元、英鎊等。最主要行情晚上美洲盤,也就是晚上8點多。美金、黃金、比特幣、原油在這時間點波動也很大。此時也會有很多經濟數據公布,像是CPI、非農(非農就業數據)等指標都會讓行情產生上下波動。 通常周一上午不建議交易,因為市場才剛剛開盤,流動性較低方向還不明朗。 還有週五快閉市時候,因為此時市場資金已經開始減少,有時可能出現異常波動。 更不建議在重大數據發布的前後做交易,波動十分劇烈容易打到止損。 誰在交易外匯? 參與者分五大類 1.各國中央銀行,比如:美國美聯儲、歐洲央行、日本央行...等等...

AZ-104考題解析_部署和管理 Azure 計算資源 (20–25%)

圖片
  Q1.You have an app named App1 that runs on an Azure web app named webapp1. The developers at your company upload an update of App1 to a Git repository named Git1. Webapp1 has the deployment slots shown in the following table. You need to ensure that the App1 update is tested before the update is made available to users. Which two actions should you perform? ○ Stop webapp1-prod.   ○ Deploy the App1 update to webapp1-prod, and then test the update. ○ Deploy the App1 update to webapp1-test, and then test the update. ○ Stop webapp1-test. ○ Swap the slots. Azure App Service 部署位置可讓您透過在預備環境中測試變更,再將其推送到生產環境,安全地部署更新。以下是此情境的運作方式: webapp1-prod → 正式環境槽位:這是使用者存取應用程式正式版本的地方。 webapp1-test → 測試/預發環境槽位:這是您在不影響使用者的情況下測試新版本的地方。 Step1.部署到 webapp1-test 確保更新能在正式應用於生產環境前,先在預備環境中進行測試。 Step2.透過位置交換來推播更新。在確認更新於預備位置運作正常後,您會將 webapp1-test 與 webapp1-prod 進行交換。這樣就能讓經過測試的更新無縫上線,不會造成服務中斷。 ======================================================================== Q2.You have an Azure subscription. You ne...

AZ-104實作和管理虛擬網路筆記

圖片
  Private Networking in the cloud 根據IETF RFC 1918規範私有網路(Private IP) 會根據以下3個IP Address Range來設置,只有VNet的內部才看的到。 10.0.0.0/8 IP addresses: 10.0.0.0 – 10.255.255.255 172.16.0.0/12 IP addresses: 172.16.0.0 – 172.31.255.255 192.168.0.0/16 IP addresses: 192.168.0.0 – 192.168.255.255 Public IP則是網路世界都全看的到,常見有 Static IP       =>不會再更動,一直保留同一個IP。 Dynamic IP  =>當VM一關機重開就重新分配一個動態IP。 那注意Crate Public IP Address 的SKU根據你選Standard或Basic有差異 世界上每一個私有網路(無論是雲端、內部資料中心 on-prem DC,或家用網路)都會使用這些位址區段,並透過它們的 NAT Gateway(該閘道擁有公開 IP)互相通訊。 NAT 是 Network Address Translation(網路位址轉換)的縮寫。它的功能是把私有 IP 位址轉換成公開 IP 位址,反之亦然。 這也就是為何即便至今已有數兆台裝置,我們仍能用 IPv4 位址來管理的原因。 Virtual Network(虛擬網路)的組成 定義虛擬網路的空間也就是Address Space,VNet就有點像是一個房子,並切分不同空間的Subnet,比方哪裡是客廳哪邊是臥室、浴室....。 那後續你可能還會去跨不同房子去打通、進行溝通。(跨VNet溝通),常見做法透過VPN Gateway去跟地端的機器打通或是所謂的VNet Peering來跨虛擬網路之間溝通。 規劃Virtual Network常見要注意的細節 VNet名稱 =>利於辨別的名稱可助於管理 Region => 你的服務到底預計放在哪些Region? Subscription =>要用到捨麼Subscription? Subnet的切割 =>要管理好各自可見範圍 連...