摘要:3個線程依次打印1、2、3…這個問題,常常被作為面試題,題目如下: 三個線程,一個線程負責打印1,4,7,……;第二個負責打印2,5,8,……,第三個負責打印3,6,9,……,要求在控制臺中按順序輸出1,2,3,4,5,6……。 這個題目肯定是要啟動3個線程的,那怎么讓這3個線程“協作”按順序打印1 閱讀全文
posted @ 2020-02-29 20:40 luoxn28 閱讀 (75) 評論 (0) 編輯
摘要:InfluxDB是一個開源的時序數據庫,使用GO語言開發,特別適合用于處理和分析資源監控數據這種時序相關數據。而InfluxDB自帶的各種特殊函數如求標準差,隨機取樣數據,統計數據變化比等,使數據統計和實時分析變得十分方便。 influxdb的單機版是開源的,而集群版是商業版,influxdb被設計 閱讀全文
posted @ 2020-01-30 09:22 luoxn28 閱讀 (375) 評論 (0) 編輯
摘要:InfluxDB是一個開源的時序數據庫,使用GO語言開發,特別適合用于處理和分析資源監控數據這種時序相關數據。而InfluxDB自帶的各種特殊函數如求標準差,隨機取樣數據,統計數據變化比等,使數據統計和實時分析變得十分方便。 influxdb的單機版是開源的,而集群版是商業版,influxdb被設計 閱讀全文
posted @ 2020-01-28 09:50 luoxn28 閱讀 (405) 評論 (0) 編輯
摘要:Namespace是將內核的全局資源做封裝,使得每個Namespace都有一份獨立的資源,因此不同的進程在各自的Namespace內對同一種資源的使用不會互相干擾。 目前Linux內核總共支持以下6種Namespace: IPC:隔離System V IPC和POSIX消息隊列。 Network:隔 閱讀全文
posted @ 2020-01-28 09:48 luoxn28 閱讀 (54) 評論 (0) 編輯
摘要:kubernetes(簡稱k8s)是一種用于在一組主機上運行和協同容器化應用程序的管理平臺,皆在提供高可用、高擴展性和可預測性的方式來管理容器應用的生命周期。通過k8s,用戶可以定義程序運行方式、部署升級策略、動態伸縮容,使得用戶以一種更靈活可靠的方式來管理應用程序。 關于k8s,是一種對應用服務的 閱讀全文
posted @ 2020-01-20 23:40 luoxn28 閱讀 (186) 評論 (0) 編輯
摘要:cgroup從2.6.4引入linux內核主線,目前默認已啟用該特性。在cgroup出現之前,只能對一個進程做資源限制,比如通過sched_setaffinity設置進程cpu親和性,使用ulimit限制進程打開文件上限、棧大小等。 cgroups是Linux下控制一個(或一組)進程的資源限制機制, 閱讀全文
posted @ 2020-01-12 13:32 luoxn28 閱讀 (200) 評論 (0) 編輯
摘要:學習Docker,首先需要了解Docker基本概念,然后就開始“動手”了(也就是敲Docker命令)。Docker命令較多,這里筆者總結下常用的Docker命令,方便小伙伴們查閱。 Docker是基于go語言開發,底層技術(Linux下)主要基于cgroups、namespace以及聯合文件技術實現 閱讀全文
posted @ 2020-01-02 12:41 luoxn28 閱讀 (76) 評論 (0) 編輯
摘要:分區,又稱為分片,是解決大數據存儲的常見解決方案,大數據存儲量超過了單節點的存儲上限,因此需要進行分區操作將數據分散存儲在不同節點上,通常每個單個分區可以理解成一個小型的數據庫,盡管數據庫能同時支持多個分區操作;分區引入多分區概念,可以同時對外服務提高性能。 常常和分區一并提及的概念是復制,分區通常 閱讀全文
posted @ 2020-01-01 17:40 luoxn28 閱讀 (219) 評論 (0) 編輯
摘要:服務和數據的高可用性本質上是靠“復制”來解決的,比如服務通過集群部署多臺機器來完成,數據通過冗余的多副本機制來完成。對于服務來說,只需要部署多個實例即可,特別是無狀態服務,常見的微服務(dubbo/spring cloud)幾乎都是通過集群部署對外提供服務能力,更進一步的還可使用k8s+docker 閱讀全文
posted @ 2019-12-30 13:00 luoxn28 閱讀 (425) 評論 (1) 編輯
摘要:很多小伙伴所在的公司是基于Dubbo來構建技術棧的,日??⒅斜夭豢繕僖磀ubbo單測(單元測試),如果單測數據依賴已有的外部dubbo服務,一般是mock數據,如果數據比較復雜,其實mock數據也是一個不小的工作量。那有沒有更好的單測方式來代替我們完成”mock“數據功能呢,這時可以借助dubb 閱讀全文
posted @ 2019-12-22 21:40 luoxn28 閱讀 (171) 評論 (0) 編輯
摘要:本文主要討論Netty NioEventLoop原理及實踐,關于Netty NioEventLoop,首先要知道NioEventLoop是什么,為什么它會是Netty核心Reactor處理器,實現原理是什么,進而再討論Netty對其的實現及使用上我們可以學到哪些。 EventLoop是一個React 閱讀全文
posted @ 2019-12-01 10:25 luoxn28 閱讀 (145) 評論 (1) 編輯
摘要:Pipeline和ChannelHandler是Netty處理流程的重要組成部分,ChannelHandler對應一個個業務處理器,Pipeline則是負責將各個ChannelHandler串起來的“容器”,二者結合起來一起完成Netty的處理流程。 Pipeline 每個channel內部都會持有 閱讀全文
posted @ 2019-11-30 19:54 luoxn28 閱讀 (138) 評論 (0) 編輯
摘要:編者注:Netty是Java領域有名的開源網絡庫,特點是高性能和高擴展性,因此很多流行的框架都是基于它來構建的,比如我們熟知的Dubbo、Rocketmq、Hadoop等。本文就netty線程模型展開分析討論下 : ) IO模型 BIO:同步阻塞IO模型; NIO:基于IO多路復用技術的“非阻塞同步 閱讀全文
posted @ 2019-11-17 08:51 luoxn28 閱讀 (759) 評論 (0) 編輯
摘要:編者注:Java nio 空輪詢bug也就是Java nio在Linux系統下的epoll空輪詢問題。 epoll機制是Linux下一種高效的IO復用方式,相較于select和poll機制來說。其高效的原因是將基于事件的fd放到內核中來完成,在內核中基于紅黑樹+鏈表數據結構來實現,鏈表存放有事件發生 閱讀全文
posted @ 2019-11-16 18:37 luoxn28 閱讀 (415) 評論 (0) 編輯
摘要:編者注:Netty是Java領域有名的開源網絡庫,特點是高性能和高擴展性,因此很多流行的框架都是基于它來構建的,比如我們熟知的Dubbo、Rocketmq、Hadoop等,針對高性能RPC,一般都是基于Netty來構建,比如soft bolt。總之一句話,Java小伙伴們需要且有必要學會使用Nett 閱讀全文
posted @ 2019-11-12 08:05 luoxn28 閱讀 (423) 評論 (0) 韩国快乐8开奖结果查询