原创 grpc 開發進階 - 傳遞 metadata

現在網上大部分都是 grpc 相關的介紹,真正涉及到 grpc 的配置使用的文章還是比較少的 所以本系列着重介紹 grpc 開發時可以能會用到的一些配置 grpc 支持在 server 端和 client 端發送 meteda

原创 grpc 開發進階 - 失敗重試

RPC調用失敗情況分析 RPC 調用失敗可以分爲三種情況: RPC 請求還沒有離開客戶端 RPC 請求到達服務器,但是服務器的應用邏輯還沒有處理該請求 服務器應用邏輯開始處理請求,並且處理失敗 最後一種情況是通過 serve

原创 Linux Cgroups V1 介紹與使用

簡介 Cgroups 全稱 Control Groups,是 Linux 內核提供的物理資源隔離機制,通過這種機制,可以針對一組進程或線程設置資源權重,統計資源使用量,操縱啓停等 Cgroups 可以限制,記錄一組進程或者線程所使

原创 Runc 與 Cgroups

Runc 可以算是啓動創建容器的最後一步,其中設置 Cgroups,隔離 namespaces,配置網絡,掛載相應的卷 等一系列操作 本文將主要講 runc 是如何去操作系統中的 Cgroups,實現對資源的限制和管理的 Runc

原创 grpc 開發進階 - 使用攔截器 interceptor

現在網上大部分都是 grpc 相關的介紹,真正涉及到 grpc 的配置使用的文章還是比較少的 所以本系列着重介紹 grpc 開發時可以能會用到的一些配置 攔截器在作用於每一個 RPC 調用,通常用來做日誌,認證,metric

原创 grpc 開發進階 - 加密傳輸

現在網上大部分都是 grpc 相關的介紹,真正涉及到 grpc 的配置使用的文章還是比較少的 所以本系列着重介紹 grpc 開發時可以能會用到的一些配置 不使用任何加密 客戶端創建連接的時候默認必須使用加密傳輸,否則會直接報錯

原创 grpc 開發進階 - 使用壓縮器 compressor

現在網上大部分都是 grpc 相關的介紹,真正涉及到 grpc 的配置使用的文章還是比較少的 所以本系列着重介紹 grpc 開發時可以能會用到的一些配置 compressor grpc 允許用戶自定義 compressor 來

原创 grpc 開發進階 -傳遞 metadata

現在網上大部分都是 grpc 相關的介紹,真正涉及到 grpc 的配置使用的文章還是比較少的 所以本系列着重介紹 grpc 開發時可以能會用到的一些配置 grpc 支持在 server 端和 client 端發送 meteda

原创 vim - 格式化JSON

爲什麼需要使用vim格式化json 對於json文本,如果沒有經過格式化,可讀性還是極差的,這時需要格式化或者說是優化 JSON 內容 {"a":"b", "c":"d"} 格式化爲 { "a": "b", "c

原创 Python基礎三——推導式,函數,修飾器

循環外使用else        可用來判斷for循環是否正常結束,如果調用break跳出,則會執行elseches = [] for che in ches:     break else: print('no che') 使用zip(

原创 Python 處理HTML/XML——Beautiful Soup4

Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫.本文爲Beautiful Soup屬性方法總結,更多例子請查閱官方文檔$ pip install beautifulsoup4    #debi

原创 Python 輕鬆處理HTTP——Requests庫

第三方庫Requests 擅長處理那些複雜的HTTP請求,cookie, header等內容,並且支持 Python 2.6—2.7以及3.3—3.7提供了比python2中urllib,urllib2和python3中urllib.re

原创 Python 處理日期時間——Arrow庫

Python針對日期時間的處理提供了大量的package,類和方法,但在可用性上來看非常繁瑣和麻煩第三方庫Arrow提供了一個合理的、人性化的方法來創建、操作、格式轉換的日期,時間,和時間戳,幫助我們使用較少的導入和更少的代碼來處理日期和

原创 Python 協程和asyncio模塊

本文首先對asyncio模塊的使用進行簡單的介紹,然後着重分析asyncio中關於事件循環和協程的部分,而對於模塊中在事件循環創建套接字連接等方法將會在另外的文章介紹簡單使用        async def語句或使用@asyncio.c

原创 爲什麼孤兒進程沒有被init收養

我們都知道在Linux上孤兒進程和殭屍進程都會被進程號爲1的init進程收養,收屍,但這在使用Systemd來管理系統的發行版上比如Ubuntu上就不是那麼靠譜了首先我們寫一個簡單的孤兒進程的例子#include<unistd.h> #i