原创 FreeSWITCH中DESTINATION_OUT_OF_ORDER原因分析

問題:在話單中會產生DESTINATION_OUT_OF_ORDER這種掛斷原因, 但是A, B leg都有通話時長, 但是貌似時長都比較短, 不知道這個會引起什麼問題, 在FS裏是正常還是異常的?產生過程:先originate Aleg

原创 Tomcat停機過程分析及線程處理方法

工作中經常遇到因爲Tomcat shutdown時自己創建的線程因沒有及時停止而引起的各種莫名其妙的報錯,這篇文章將通過對Tomcat停機過程的梳理討論產生這些錯誤的原因,同時提出了兩個可行的解決辦法。Tomcat停機過程分析一個Tomc

原创 HTTP/2筆記-幀

客戶端和服務器端一旦握手協商成功接建立連接,端點之間可以基於HTTP/2協議傳遞交換幀數據了。 一。幀通用格式 下圖爲HTTP/2幀通用格式:幀頭+負載的比特位通用結構: +-------------------------------

原创 gRPC 服務端創建和調用原理解析

gRPC 是一個高性能、開源和通用的 RPC 框架,面向服務端和移動端,基於 HTTP/2 設計。由 Google 開發並開源,語言中立,當前支持 C、Java 和 Go 語言,其中 C 版本支持 C、C++、Node.js、C# 等。

原创 SSL/TLS 握手過程詳解

我們知道,HTTP 協議都是明文傳輸內容,在早期只展示靜態內容時沒有問題。伴隨着互聯網的快速發展,人們對於網絡傳輸安全性的要求也越來越高,HTTPS 協議因此出現。如上圖所示,在 HTTPS 加密中真正起作用的其實是 SSL/TLS 協

原创 談談 HTTP/2 的協議協商機制

在過去的幾個月裏,我寫了很多有關 HTTP/2 的文章,也做過好幾場相關分享。我在向大家介紹 HTTP/2 的過程中,有一些問題經常會被問到。例如要部署 HTTP/2 一定要先升級到 HTTPS 麼?升級到 HTTP/2 之後,不支持 H

原创 FreeSWITCH線上一次Crashes分析定位過程-ldns庫問題

FS線上一次Crashes分析定位過程-ldns庫問題– by yine 2018-04-10 15:33:05一、故障發生時間點2018-04-10 09:54:07二、堆棧查看結果warning: .dynamic section f

原创 通用服務化方案

大家好,我今天的分享主要圍繞以下幾點,首先跟大家簡要介紹一下微博服務化的演進過程,其次是微博自研跨語言RPC 框架 Motan 實現的一些關鍵技術要點,主要是跨語言方面,再次,結合目前市面上的一些Service Mesh 實現對比,給出基

原创 gRPC服務發現&負載均衡

構建高可用、高性能的通信服務,通常採用服務註冊與發現、負載均衡和容錯處理等機制實現。根據負載均衡實現所在的位置不同,通常可分爲以下三種解決方案: 1、集中式LB(Proxy Model) 在服務消費者和服務提供者之間有一個獨立的LB,

原创 HTTP/2筆記-流和多路複用

本部分將講解HTTP/2協議中對流的定義和使用,其實就是在說HTTP/2是若何做到多路複用的。 一。流和多路複用的關係 1. 流的概念 流(Stream),服務器和客戶端在HTTP/2連接內用於交換幀數據的獨立雙向序列,邏輯上可看做一個較

原创 JAVA併發編程:Synchronized和Lock

前言 Java多線程編程中,保證線程安全通常會使用到synchronized和Lock。那麼合適該使用synchronized,什麼時候該使用Lock呢。這個就需要我們對synchronized和Lock有個清晰的瞭解。 Lock和syn

原创 Reactor模型

想象以下情形:長途客車在路途上,有人上車有人下車,但是乘客總是希望能夠在客車上得到休息。 傳統的做法是:每隔一段時間(或每一個站),司機或售票員對每一個乘客詢問是否下車。 Reactor模式做法是:汽車是乘客訪問的主體(Reactor),

原创 DUBBO: 解決異步調用返回值null的問題

dubbo異步調用變同步 當consumer或provider配置async屬性時,會有傳遞性,後面調用都會變異步,如果鏈路上有一個地方代碼是同步方式,那麼這個地方會返回null。 解決: 方法一:將所有鏈路上的代碼改異步方式(Futu

原创 Protobuf 的 proto3 與 proto2 的區別

這是一篇學習筆記。在粗略的看了 Protobuf 的文檔中關於 proto2 和 proto3 的說明後,記錄下了幾點 proto3 區別於 proto2 的地方。 總的來說,proto3 比 proto2 支持更多語言但 更簡潔。去掉了

原创 Alfred效率神器-VPN&iTerm Workflows插件應用小記

一、先了解一下Alfred是什麼:話不多說, 先看一下這篇文章: https://sspai.com/post/44624二、先安裝上吧:下載地址:http://xclient.info/?t=9925f22a2373afbddb54a8