日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

微云 linux_编年史与微云

發(fā)布時(shí)間:2023/12/3 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微云 linux_编年史与微云 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

微云 linux

總覽

我面臨的一個(gè)常見(jiàn)問(wèn)題是: 如果是單個(gè)作者,多個(gè)讀者,如何縮放基于Chronicle的系統(tǒng)。 盡管有解決此問(wèn)題的方法,但很有可能根本不會(huì)有問(wèn)題。

微云

這是我用來(lái)描述單個(gè)線程來(lái)完成當(dāng)前由多個(gè)服務(wù)器完成的工作的術(shù)語(yǔ)。 (或與將單個(gè)應(yīng)用程序部署到多臺(tái)計(jì)算機(jī)的趨勢(shì)相反)

假設(shè)擴(kuò)展系統(tǒng)的唯一方法是分區(qū)或具有多個(gè)副本。 除非您同時(shí)擁有多個(gè)系統(tǒng),否則這種擴(kuò)展并不總是那么好。 所有這些都增加了系統(tǒng)開(kāi)發(fā),部署和維護(hù)的復(fù)雜性。 我看到的一個(gè)常見(jiàn)問(wèn)題是,開(kāi)發(fā)人員不再能夠在其工作站或單元/功能測(cè)試中測(cè)試端到端系統(tǒng)

基于編年史的處理引擎具有不同的方法。 它們通常旨在處理您所能承受的最大負(fù)載。 即瓶頸在其他地方,例如與外部系統(tǒng),網(wǎng)關(guān)和數(shù)據(jù)庫(kù)的接觸點(diǎn)。 基于Chronicle的處理引擎每秒可以處理100,000至1,000,000入站和出站事件,延遲介于1到10微秒之間。 這比網(wǎng)關(guān)可以向引擎輸入/輸出數(shù)據(jù)的速率高得多,因此從來(lái)沒(méi)有一個(gè)很好的分區(qū)用例。 這是一個(gè)選擇,但您不應(yīng)該認(rèn)為這是您需要的選擇。

這樣做的好處是您擁有一個(gè)確定性系統(tǒng),該系統(tǒng)在體系結(jié)構(gòu)上非常簡(jiǎn)單。 該系統(tǒng)具有確定性,因?yàn)槟涗浟嗣總€(gè)入站和出站消息,這些記錄可能具有微秒級(jí)的計(jì)時(shí),并且系統(tǒng)的行為是完全可復(fù)制的(并且可重新啟動(dòng)的)。 注意:其后果之一是,僅重新啟動(dòng)失敗的服務(wù)將無(wú)濟(jì)于事。 如果基于特定消息的特定方式失敗一次,則每次重新啟動(dòng)時(shí)都應(yīng)以完全相同的方式失敗。 這使得重現(xiàn)問(wèn)題和測(cè)試變得更加容易。

為什么這么快?

一個(gè)線程中的一個(gè)單線程處理引擎具有

  • 無(wú)鎖
  • 沒(méi)有TCP延遲
  • 可以鎖定到內(nèi)核或CPU,以改善緩存行為。
    也就是說(shuō),它永遠(yuǎn)不會(huì)上下文切換或放棄CPU。
  • 可重用的可變對(duì)象更加實(shí)用,因此您可以避免用垃圾攪亂緩存,從而使內(nèi)存訪問(wèn)速度提高5倍。 (有了獎(jiǎng)金,您將不再具有GC暫停)

避免產(chǎn)生垃圾的真正原因

大多數(shù)Java應(yīng)用程序中的一個(gè)常見(jiàn)問(wèn)題是GC暫停時(shí)間。 您通常希望將其最小化。 我主張減少產(chǎn)生的垃圾,但是我不擔(dān)心GC暫停,因?yàn)槲疫€沒(méi)有編寫(xiě)一個(gè)可以在交易四年后暫停的系統(tǒng)。 我通過(guò)使Eden大小大于一天中產(chǎn)生的垃圾量來(lái)做到這一點(diǎn),并在維護(hù)窗口中進(jìn)行System.gc()處理(視情況在深夜或周末)。 在低延遲的應(yīng)用程序中避免垃圾的主要原因是創(chuàng)建垃圾會(huì)導(dǎo)致緩存的滾動(dòng)或刷新。 如果您有一個(gè)系統(tǒng)(套接字上的所有JVM)產(chǎn)生200 MB / s的垃圾,并且有20 MB的L3高速緩存,則您每隔0.1秒就會(huì)有效地用垃圾填充高速緩存。 對(duì)L3高速緩存的內(nèi)存訪問(wèn)可以比對(duì)主內(nèi)存的訪問(wèn)快5倍。

注意: L3緩存在套接字的所有內(nèi)核之間共享,因此,如果要在所有內(nèi)核上實(shí)現(xiàn)可伸縮性,則要使用L1緩存(通常為32 KB),并且如果有繁忙的線程在創(chuàng)建32 MB / s的垃圾,這是每毫秒就會(huì)充滿垃圾。

結(jié)論

因此,我開(kāi)始使用術(shù)語(yǔ)“微云”。 即在一個(gè)線程中完成整個(gè)云的工作。 我有幾個(gè)這樣做的客戶。 跨一個(gè)系統(tǒng)的許多JVM所做的工作只能通過(guò)一個(gè)非常快的線程來(lái)完成。 顯然,在一個(gè)工作站上測(cè)試一個(gè)線程要容易得多,并且在生產(chǎn)中占用數(shù)據(jù)中心的機(jī)架空間要少得多。

參考: Vanilla Java博客上的JCG合作伙伴 Peter Lawrey撰寫(xiě)的編年史和微云 。

翻譯自: https://www.javacodegeeks.com/2013/02/chronicle-and-the-micro-cloud.html

微云 linux

總結(jié)

以上是生活随笔為你收集整理的微云 linux_编年史与微云的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。