網際網路架構不斷演化,經歷從集中式架構到分散式架構,再到雲端原生架構的過程。雲端原生因能解決傳統應用升級緩慢、架構臃腫、不能快速反覆運算等問題,而成為未來雲端應用的目標。
本書首先介紹架構演化過程及雲端原生的概念,讓讀者對基礎概念能有一個準確的瞭解。接著闡述分散式、服務化、Observability、容器調度、Service Mesh、雲資料庫等體系及其原理,並介紹與其相關的Dubbo、Spring Cloud、SkyWalking、Kubernetes、Istio開源解決方案。最後深度揭秘開源分散式資料庫生態圈Sharding-Sphere的設計與實現。
適合讀者群:具有前端工作經驗的工程師或架構師,或對雲端原生有興趣
者。
本書特色
◎ 一線資深架構師合力撰寫
◎ 凝聚從服務化到雲端佈署的前端架構認知
◎ 對未來網際網路技術走向的深度解讀
◎ 內容全面,循序漸進
◎ 概念清晰明瞭,前端技術一覽無遺
◎ 創新性概念,技術領先一代
◎ 深度揭密ShardingSphere 的Apache之路
作者簡介:
張亮
京東數科資料研發負責人,Apache ShardingSphere發起人兼PPMC成員。擅長以Java為主的分散式架構以及以Kubernetes和Mesos為主的雲平台的構建。
吳晟
Apache SkyWalking創始人及PPMC成員,Apache ShardingSphere原型作者及PPMC成員,Apache Zipkin貢獻者,Apache孵化器導師,CNCF基金會OpenTracing標準化委員會成員,W3C Trace Context規範貢獻者。擅長分散式架構、性能監控與診斷、分散式追蹤、雲原生監控等領域。
敖小劍
具有多年軟體發展經驗,資深碼農,微服務專家,Cloud Native 擁護者,敏捷實踐者,Service Mesh佈道師,ServiceMesher中文社區聯合創始人。專注於基礎架構建設,對微服務、雲計算等相關技術有著深入研究和獨到見解。
宋淨超
螞蟻金服雲原生佈道師,ServiceMesher中文社區聯合創始人,Kubernetes社區成員,Istio社區成員,著名譯者。
作者序
一次誠摯的寫書邀約,一個深思熟慮後的決定,一番夜以繼日的付出,以及一些「曲折離奇」的經歷,這本書誕生了!
2015 年年底,當時我還在當當網擔任架構師,從事業務系統架構設計與內部應用架構研發方面的工作,處於事業上升期。在一次技術分享的會場,我偶遇電子工業出版社博文視點的孫奇俏編輯,她向我發出寫書邀約。雖然當時我自認資歷尚淺,並未接受這份邀約,但這件事卻像一顆種子一樣深深紮根在我的心中。
在那之後,我在網際網路架構這個圈子裡不斷拓寬視野,累積經驗,產生了越來越多的熱情和新鮮想法,也深深受到周圍那些具有真才實學又意氣風發的摯友和同僚們的感染。這些點點滴滴讓我覺得,我也要做點事情來傳遞多年以來在這個業界中沉澱的經驗,分享我眺望到的未來架構的前端思潮。倘若這些想法和經驗能夠幫助或影響到更多的朋友,或能讓我自己與更多朋友結識、交流、碰撞出新的想法,那該是一件多麼令人驕傲的事啊!於是我與奇俏老師保持密切溝通,經過反覆的推敲琢磨,這顆深埋在心裡的種子終於開始萌芽,2016 年年底,我的寫作之旅正式開啟。
書到用時方恨少,事非經過不知難。美好的願景總會受到現實的無情打擊,寫書亦是如此。雖說可以以本身的所見所聞、所觀所悟為素材提煉出寫作的內容,可是如何確立選題和設計主線才能讓一本書承載更多精粹的知識,容納更多有價值、有意義的內容呢?我覺得我所追求的「完美」的書,應當是一本能夠有質有量地給予讀者極大價值的書。
網際網路的反覆運算十分迅速,目前經歷的一切都在漸漸逝去。我希望這本書能承載現今網際網路架構的精粹,而不只是一本簡單的使用手冊,因為速食只能讓人獲得一時的能量,無法帶給人們長久的滿足。與此同時,我還希望讀者們能透過這本書了解未來的趨勢,捕捉到前端的技術熱點,在架構選擇與從業選擇方面獲得一些有價值的建議。
在確立了本書的定位後,經過深思熟慮,靜心沉澱,充分研究,融合提煉,我對現有的知識系統進行了重塑,希望能將更多的架構設計理念、技術實現原理、熱點概念背後的本質匯集在這本書中。
在開啟寫作之旅後,只要有機會我就會陷入「心流」狀態,在腦海中不斷地構思內容、提煉基礎知識,並在無數個寂寞的夜晚以燈為伴,將平時的所思所感匯集於一頁頁紙張中。
寫小說可以隨心所欲,心隨筆動;而寫技術書則應當不差毫釐、信而有征,讓內容兼備深度與廣度。為了達到這個目的,數不清的查閱校對、詢問商討是必不可少的,這其中的艱辛,也只有真正寫過書的人才能感同身受。
為了讓這本書更具專業性,並能儘快與大家見面,我特意邀請了我的三位摯友共同組織內容,他們是,Apache 基金會孵化器專案SkyWalking 創始人吳晟、ServiceMesher 中文社區聯合創始人及Service Mesh 佈道師敖小劍、ServiceMesher 中文社區聯合創始人及雲端原生佈道師宋淨超,我相信集眾人所長定能讓這本書更具功力。
身處這個高速發展的時代,以及高速反覆運算的IT 企業,我知道每個人都不甘平庸,否則又怎會在網際網路企業的高速路上不停奔跑呢?作為一名架構師,我主導且參與了一些優秀的開放原始碼專案,這其中也包含進入Apache基金會的專案ShardingSphere。作為一名擁有十多年開發經驗的程式設計師,我崇尚程式優雅和簡捷,並一直以極客主義嚴格要求自己和團隊。我深切感受到,在這個企業中若想成為優秀的人,甚至完美的人,不僅需要投入程式的世界,也需要觀察業界動態,洞察未來趨勢,最重要的是,要不忘初心,持之以恆,永遠懷有熱愛和感恩之心。
2018 年對我而言是充滿轉折的一年,這一年裡我對已經寫好的內容又進行了修改和增強,還將ShardingSphere 從開放原始碼到進入Apache 的經歷也融入書中。終於,在2018 年即將結束之時,我為自己的寫書之旅畫上了一個圓滿的句點。
這本書獻給我遠去的回憶和憧憬的未來,獻給想要洞察架構真諦的你,獻給想要迫切了解業界發展動態的你,獻給想要認識未來架構的每一個你⋯⋯
張亮
一次誠摯的寫書邀約,一個深思熟慮後的決定,一番夜以繼日的付出,以及一些「曲折離奇」的經歷,這本書誕生了!
2015 年年底,當時我還在當當網擔任架構師,從事業務系統架構設計與內部應用架構研發方面的工作,處於事業上升期。在一次技術分享的會場,我偶遇電子工業出版社博文視點的孫奇俏編輯,她向我發出寫書邀約。雖然當時我自認資歷尚淺,並未接受這份邀約,但這件事卻像一顆種子一樣深深紮根在我的心中。
在那之後,我在網際網路架構這個圈子裡不斷拓寬視野,累積經驗,產生了越來越多的熱情和新鮮想法,也深深受到周圍那些具有真...
目錄
| 01 | 語音辨識技術
1.1 整體結構
1.2 Linux 基礎
1.3 安裝Micro 編輯器
1.4 安裝Kaldi
1.5 yesno 實例
1.6 建置一個簡單的ASR
1.7 Voxforge實例
1.8 資料準備
1.9 加權有限狀態轉換
1.10 語音辨識語料庫
1.11 Linux shell指令稿基礎
| 02 | C# 開發語音辨識
2.1 準備開發環境
2.2 計算旋積
2.3 記錄語音
2.4 讀取語音訊號
2.5 離散傅立葉轉換
2.6 移除靜音
| 03 | Perl 開發語音辨識
3.1 變數
3.2 多維陣列
3.3 常數
3.4 運算符號
3.5 控制流
3.6 檔案與目錄
3.7 常式
3.8 執行指令
3.9 正規表示法
3.10 命令列參數
| 04 | Python 開發語音辨識
4.1 Windows作業系統下安裝Python
4.2 Linux作業系統下安裝Python
4.3 選擇版本
4.4 開發環境
4.5 註釋
4.6 變數
4.7 陣列
4.8 列表
4.9 元組
4.10 字典
4.11 控制流
4.12 模組
4.13 函數
4.14 讀寫檔案
4.15 物件導向程式設計
4.16 命令列參數
4.17 資料庫
4.18 記錄檔記錄
4.19 例外處理
4.20 測試
4.21 語音活動檢測
4.22 使用numpy
| 05 | Java 開發語音辨識
5.1 實現旋積
5.2 KaldiJava
5.3 TensorFlow的Java介面
| 06 | 語音訊號處理
6.1 使用FFmpeg
6.2 標記語音
6.3 時間序列
6.4 端點檢測
6.5 動態時間規整
6.6 傅立葉轉換
6.7 MFCC特徵
6.8 說話者識別
6.9 解碼
| 07 | 深度學習
7.1 神經網路基礎
7.2 旋積神經網路
7.3 架設深度學習開發環境
7.4 nnet3實現程式
7.5 編譯Kaldi
7.6 點對點深度學習
7.7 Dropout解決過度擬合問題
7.8 矩陣運算
| 08 | 語言模型
8.1 機率語言模型
8.2 KenLM語言模型工具套件
8.3 ARPA檔案格式
8.4 依存語言模型
| A | 術語及含義
| 01 | 語音辨識技術
1.1 整體結構
1.2 Linux 基礎
1.3 安裝Micro 編輯器
1.4 安裝Kaldi
1.5 yesno 實例
1.6 建置一個簡單的ASR
1.7 Voxforge實例
1.8 資料準備
1.9 加權有限狀態轉換
1.10 語音辨識語料庫
1.11 Linux shell指令稿基礎
| 02 | C# 開發語音辨識
2.1 準備開發環境
2.2 計算旋積
2.3 記錄語音
2.4 讀取語音訊號
2.5 離散傅立葉轉換
2.6 移除靜音
| 03 | Perl 開發語音辨識
3.1 變數
3.2 多維陣列
3.3 常數
3.4 運算符號
3.5 控制流
3.6 檔案與目錄
3.7 常式
3.8 執行指...