描述
Spring Boot不再是Java的專利,Kotlin也不再是Android的專屬語言。少了Java的笨重,除去Scala的複雜,用Kotlin開發後端又小又快又輕,熟悉Kotlin的你,再也不用羨慕Java使用者最愛的微服務,你也可以直接上手。
- 內容簡介
本書介紹了Kotlin在Spring Boot微服務開發中的實作,並使用Kotlin作為開發語言,介紹了函數式程式設計思想、Kotlin的語法、Kotlin在常用中介軟體中的應用,以及其在微服務註冊中心、微服務設定中心、微服務閘道、Spring Cloud Alibaba、服務監控和服務鏈路監控方面的應用。本書舉出了詳細的實例程式和一個完整的部落格範例,可以幫助讀者使用Kotlin開發基於Spring Boot微服務的程式。
- 適合讀者
閱讀本書需要具有一定的程式設計基礎,但入門門檻不高。因此,本書適合大學生、工程師等對使用Kotlin開發服務端程式有興趣的讀者閱讀。
作者簡介
袁康
5年軟體業從業經驗,曾在中國銀聯、眾安保險等公司擔任高級軟體研發工程師。
目前在一家大型普惠金融公司擔任高級軟體開發工程師、架構師,負責風控系統架構設計、系統優化等工作。
他曾獨立研發出一款高性能、可視化規則引擎;獨立研發出一款海量風控數據遷移、存儲、檢索系統;負責比特幣交易所核心項目研發。
目錄
01 架設Kotlin 開發環境
1.1 Kotlin 簡介
1.2 在Windows 環境中架設Kotlin 開發環境
1.3 在Ubuntu 環境中架設Kotlin 開發環境
1.4 在macOS 環境中架設Kotlin 開發環境
1.5 第一個Kotlin 程式
1.6 小結
02 函數式程式設計介紹
2.1 初識函數式程式設計
2.2 函數式程式設計的特點
2.3 Scala、Kotlin、Java 的比較
2.4 小結
03 Kotlin 的語法
3.1 基礎語法
3.2 類別
3.3 函數和Lambda 運算式
3.4 集合
3.5 程式碼協同
3.6 小結
04 Kotlin 在常用中介軟體中的應用
4.1 Kotlin 整合Spring Boot
4.2 Kotlin 整合Redis
4.3 Kotlin 整合JPA、QueryDSL
4.4 Kotlin 整合MongoDB
4.5 Kotlin 整合Spring Security
4.6 Kotlin 整合RocketMQ
4.7 Kotlin 整合Elasticsearch
4.8 Kotlin 整合Swagger
4.9 小結
05 Kotlin 應用於微服務註冊中心
5.1 Eureka
5.2 Consul
5.3 Zookeeper
5.4 Nacos
5.5 小結
06 Kotlin 應用於微服務設定中心
6.1 Spring Cloud Config
6.2 Apollo 設定中心
6.3 Nacos 設定中心
6.4 Consul 設定中心
6.5 小結
07 Kotlin 應用於微服務閘道
7.1 Kotlin 整合Zuul
7.2 Kotlin 整合Spring Cloud Gateway
7.3 小結
08 Kotlin 應用於Spring Cloud Alibaba
8.1 服務限流降級
8.2 訊息驅動
8.3 阿里物件雲端儲存
8.4 分散式任務排程
8.5 分散式交易
8.6 Spring Cloud Dubbo
8.7 小結
09 Kotlin 整合服務監控和服務鏈路監控
9.1 Prometheus、Grafana 介紹
9.2 Kotlin 整合Prometheus、Grafana
9.3 Kotlin 整合Zipkin
9.4 Kotlin 整合SkyWalking
9.5 小結
10 基於Kotlin 和Spring Boot 架設部落格
10.1 初始化Maven 專案
10.2 系統架構
10.3 定義實體
10.4 資料庫設計
10.5 Repository 層的設計
10.6 Service 層的設計
10.7 Controller 層的設計
10.8 部署到騰訊雲
10.9 小結
序
近年來,Java 增加了函數式程式設計的特性,如類型推斷、Lambda 運算式、Stream 流等,後端開發逐漸採用了一些函數式程式語言,如Scala、Kotlin。函數式程式設計以其簡潔性、不變性、空指標處理人性化等特點深受後端開發人員的青睞。
筆者之前使用Scala 做過後端開發,感慨Scala 的門檻較高,入門困難,而且生態資源相對匱乏,開發過程比較痛苦。後來,使用Java 進行後端開發,依靠Spring Boot 強大的生態,可以方便地使用訊息佇列、資料庫、快取、大數據相關中介軟體。但是Java 比較笨重,容錯的程式、空指標異常、執行緒安全等問題經常困擾著筆者。隨著Kotlin 在行動端開發的普及,它也逐步走入後端開發者的視野。Kotlin 是JVM 系統的語言,和Java具有良好的互通性,上手較容易,且可以使用Java 強大的生態,其還具有函數式程式設計的優點。另外,Spring Initializr 提供了對Java、Kotlin 語言的支援。
Kotlin 是JetBrains 公司開發的,目前流行的IntelliJ IDEA 軟體也是該公司開發的。IDEA 對Kotlin 支援較好,可以將Java 程式轉為Kotlin 程式。IDEA 還支援Java、Kotlin 混合程式設計,歷史程式使用Java 撰寫,新的程式可以嘗試使用Kotlin 撰寫。
基於以上考慮,筆者開始研究使用Kotlin、Spring Boot 做後端開發,獲得了不錯的效果。市面上介紹使用Kotlin 進行後端開發的圖書比較少,筆者在大量實作的基礎上,萌生了寫一本書的想法,希望和更多的Java 開發人員分享Kotlin 在後端開發中的實作經驗。
本書共10 章,第1 章介紹如何架設Kotlin 的開發環境,第2 章介紹函數式程式設計,第3 章簡單介紹Kotlin 的語法,第4 章介紹Kotlin 在常用中介軟體中的應用,第5 章介紹Kotlin 如何應用於微服務註冊中心,第6 章介紹Kotlin 如何應用於微服務設定中心,第7 章介紹Kotlin 如何應用於微服務閘道,第8 章介紹Kotlin 如何應用於Spring Cloud Alibaba,第9 章介紹Kotlin 整合服務監控和服務鏈路監控的相關知識,第10 章介紹如何用Kotlin 撰寫部落格應用。本書提供了大量的實例,相關原始程式可以從GitHub 下載運行。