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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用程序的通信成本

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用程序的通信成本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

應用程序的通信成本

什么是通信

一個程序中兩個以上功能相互傳遞信號或數據叫做通信。

什么是成本

這是是指時間成本與空間成本。 時間就是傳遞數據所花費的時間。空間是指傳遞過程耗費容量大小。

都有哪些通信方式

  • 全局變量

  • 線程間通信

  • 共享內存

  • 共享文件

  • 管道

  • Socket

  • 硬件(串口,USB) 等等

  • 全局變量

    全局變量是成本最低通信方法,通過設置全局變量,在程序運行時過程中均可操作該變量,用戶信號傳遞,數據傳輸。

    線程間通信

    線程間通信也是采用全局變量方式,通常線程庫會提供一套完善的API供用戶使用,它可以實現共享,鎖,互斥等機制。

    共享內存

    共享內存是在內存中申請開辟一個區域,用于數據共享存儲。

    共享文件

    將數據存儲在文件中,供多線程,多進程訪問,文件可以上鎖與解鎖,這種方式性能最差,但對于初級開發者非常適合。 通過將文件存儲在tmpfs或shm 文件系統中,可以獲得不錯的性能。

    管道

    管道是字符設備,通常是fifo(先進先出)單向通信,如果需要雙工可能使用兩個管道。

    Socket

    Socket分為 unix socket 與 tcp/udp socket. 前者只能在unix like 系統中使用。 Socket 分為阻塞與非阻塞通信。 其中tcp/udp Socket 可以跨服務器傳輸數據。

    硬件

    例如串口通信,使用串口連接兩臺電腦,通常速率為 9600bps,115200bps A電腦中運行

    cat?/dev/ttyS0

    B電腦運行

    cat?/etc/passwd?>?/dev/ttyS0

    可以將/etc/passwd文件從A電腦傳遞到B電腦。

    不再本文討論范圍,這里不多述。

    現在我們已經清楚了各種通信方式,這些通信方式適用于不同場景,由此出現了很多種使用方式,甚至多種方式同時使用。

    服務器池概念

    互聯網時代的特點是,服務器不在單一一種,而是各種異構系統,我們經常會看到一個網站有多個服務器組成,因此我們將應用分布在不同的服務器上運行。 例如 Web服務器,應用服務器,緩存服務器,數據庫服務器各司其職。就應用服務器還可能分成很多種類,例如搜索,內容管理,用戶中心,等等。 問題來了,你會發現你的每個團隊開發出一個產品,都需要一個服務器運行,每個團隊都在做獨立系統。不同團隊開發出的功能與其他產品并不兼容,于是有了接口這種東西。 運維的問題也來了,每個應用一個服務器不太現實,但每個項目都不想與其他項目公用一個服務器資源,于是有了虛擬機。

    于是我們見到的系統是這樣了

    ???????????????+--------+|?C?應用?|+--------+^??^??^|??|??| +--------+?<-----+??|??+----->?+--------+ |?A?應用?|?<--------+-------->?|?B?應用?| +--------+?<-----+??|??+----->?+--------+|??|??|V??V??V+--------+|?D?應用?|+--------+

    A 應用 運行中會與其他三個服務器產生通信,一次操作建立三次連接,這樣的通信成本是非常高的,如果任何一個節點出現故障都出現阻塞。 從運維角度這種配置也極其繁瑣,每個節點都要配置與其他連點連接,防火墻ACL 維護也非常繁瑣。 出現故障,排查也非常困難,還會消耗大量的排查時間。

    進一步優化

    我們將公共調用部門放在一處,然后將所有資源都放在服務器上。通過負載均衡分發調用,高可用技術解決公用接口單點問題。

    ???????????????+----------+|?公共接口?|+----------+^??^??^|??|??|?+------------+??|??+------------+|???????????????|???????????????|V???????????V???????????????V +--------+??????+--------+??????+--------+ |?A?應用?|??????|?B?應用?|??????|?C?應用?| |?B?應用?|??????|?C?應用?|??????|?A?應用?| |?C?應用?|??????|?A?應用?|??????|?B?應用?| +--------+??????+--------+??????+--------+

    這樣的好處顯而易見,服務器節點充分使用,既有高可用,又有負載均衡,保障7*24小時無故障運行。部屬也方便。 注意上面:每個節點的 A,B,C 應用 加權值不同。


    轉載于:https://my.oschina.net/neochen/blog/464084

    總結

    以上是生活随笔為你收集整理的应用程序的通信成本的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。