基於 Kotlin 的 Spring Boot 微服務實戰

袁康

買這商品的人也買了...

商品描述

本書介紹了Kotlin在Spring Boot微服務開發中的實踐,並使用Kotlin作為開發語言,
介紹了函數式編程思想、Kotlin的語法、Kotlin在常用中間件中的應用,
以及其在微服務註冊中心、微服務配置中心、微服務網關、Spring Cloud 阿libaba、
服務監控和服務鏈路監控方面的應用。
本書給出了詳細的實例代碼和一個完整的博客示例,
可以幫助讀者使用Kotlin開發基於Spring Boot微服務的程序。

閱讀本書需要具有一定的編程基礎,但入門門檻不高。
因此,本書適合大學生、
工程師等對使用Kotlin開發服務端程序感興趣的讀者閱讀。

作者簡介

袁康

大連理工大學信息與通信工程專業學士、碩士。
他具有5年軟件行業從業經驗,曾在中國銀聯、眾安保險等公司擔任高級軟件研發工程師。
目前在一家大型普惠金融公司擔任高級軟件開發工程師、架構師,負責風控系統架構設計、系統優化等工作。
他曾獨立研發出一款高性能、可視化規則引擎;
獨立研發出一款海量風控數據遷移、存儲、檢索系統;負責比特幣交易所核心項目研發。

目錄大綱

目錄
第1章搭建Kotlin開發環境 1
1.1 Kotlin簡介 1
1.2 在Windows環境中搭建Kotlin開發環境 5
1.3 在Ubuntu環境中搭建Kotlin開發環境 9
1.4 在macOS環境中搭建Kotlin開發環境12
1.5 第一個Kotlin程序13
1.6 小結14

第2章函數式編程介紹15
2.1 初識函數式編程15
2.2 函數式編程的特點17
2.3 Scala、Kotlin、Java的對比20
2.4 小結21

第3章Kotlin的語法22
3.1 基礎語法22
3.1.1 基本數據類型22
3.1.2 包名和引用27
3.1.3 流程控制28
3.1.4 返回和跳轉29
3.2 類30
3.2.1 類、屬性、接口30
3.2.2 特殊類34
3.2.3 泛型36
3.2.4 委託38
3.3 函數和Lambda表達式40
3.3.1 函數40
3.3.2 Lambda表達式42
3.4 集合44
3.4.1 集合概述44
3.4.2 集合操作51
3.4.3 List、Set、Map相關操作58
3.5 協程60
3.5.1 協程基礎60
3.5.2 協程進階64
3.6 小結67

第4章Kotlin在常用中間件中的應用68
4.1 Kotlin集成Spring Boot 68
4.1.1 Spring Boot介紹68
4.1.2 用Kotlin開發一個Spring Boot項目69
4.2 Kotlin集成Redis 73
4.2.1 Redis介紹74
4.2.2 使用Kotlin操作Redis 75
4.3 Kotlin集成JPA、QueryDSL 81
4.3.1 JPA、QueryDSL介紹82
4.3.2 使用Kotlin操作JPA、QueryDSL 83
4.4 Kotlin集成MongoDB 91
4.4.1 MongoDB介紹91
4.4.2 使用Kotlin操作MongoDB 92
4.5 Kotlin集成Spring Security 98
4.5.1 Spring Security介紹98
4.5.2 使用Kotlin操作Spring Security 100
4.6 Kotlin集成RocketMQ 105
4.6.1 RocketMQ介紹105
4.6.2 使用Kotlin操作RocketMQ 107
4.7 Kotlin集成Elasticsearch 112
4.7.1 Elasticsearch介紹112
4.7.2 使用Kotlin操作Elasticsearch 113
4.8 Kotlin集成Swagger 119
4.8.1 Swagger介紹119
4.8.2 使用Kotlin操作Swagger 121
4.9 小結126

第5章Kotlin應用於微服務註冊中心127
5.1 Eureka 127
5.1.1 Eureka介紹127
5.1.2 Kotlin集成Eureka服務註冊129
5.1.3 一個Eureka服務提供方131
5.1.4 Kotlin集成OpenFeign服務調用135
5.1.5 Kotlin集成Ribbon服務調用139
5.2 Consul 143
5.2.1 Consul介紹144
5.2.2 Kotlin集成Consul服務註冊145
5.2.3 Kotlin集成OpenFeign和Ribbon服務調用149
5.3 Zookeeper 153
5.3.1 Zookeeper介紹153
5.3.2 Kotlin集成Zookeeper服務註冊154
5.3.3 Kotlin集成OpenFeign和Ribbon服務調用158
5.4 Nacos 163
5.4.1 Nacos介紹163
5.4.2 Kotlin集成Nacos服務註冊164
5.4.3 Kotlin集成OpenFeign和Ribbon服務調用167
5.5 小結171

第6章Kotlin應用於微服務配置中心172
6.1 Spring Cloud Config 172
6.1.1 Spring Cloud Config介紹172
6.1.2 Kotlin集成Spring Cloud Config 173
6.2 Apollo配置中心181
6.2.1 Apollo介紹181
6.2.2 Kotlin集成Apollo 182
6.3 Nacos配置中心186
6.4 Consul配置中心192
6.5 小結197

第7章Kotlin應用於微服務網關198
7.1 Kotlin集成Zuul 198
7.1.1 Zuul介紹198
7.1.2 Kotlin集成Zuul 200
7.2 Kotlin集成Spring Cloud Gateway 211
7.2.1 Spring Cloud Gateway介紹211
7.2.2 Kotlin集成Spring Cloud Gateway 212
7.3 小結222

第8章Kotlin應用於Spring Cloud Alibaba 223
8.1 服務限流降級224
8.1.1 Sentinel介紹225
8.1.2 Kotlin集成Sentinel 226
8.2 消息驅動232
8.2.1 消息驅動介紹233
8.2.2 Kotlin集成RocketMQ實現消息驅動234
8.3 阿里對象雲存儲241
8.3.1 阿里對象雲存儲介紹241
8.3.2 Kotlin集成阿里對象雲存儲242
8.4 分佈式任務調度248
8.4.1 SchedulerX介紹248
8.4.2 Kotlin集成SchedulerX 249
8.5 分佈式事務253
8.5.1 分佈式事務介紹253
8.5.2 Kotlin集成Seata 255
8.6 Spring Cloud Dubbo 270
8.6.1 Dubbo介紹270
8.6.2 Kotlin集成Spring Cloud Dubbo 271
8.7 小結279

第9章Kotlin集成服務監控和服務鏈路監控280
9.1 Prometheus、Grafana介紹280
9.2 Kotlin集成Prometheus、Grafana 282
9.3 Kotlin集成Zipkin 288
9.4 Kotlin集成SkyWalking 298
9.5 小結308

第10章基於Kotlin和Spring Boot搭建博客309
10.1 初始化Maven工程309
10.2 系統架構314
10.3 定義實體316
10.4 數據庫設計324
10.5 Repository層的設計325
10.6 Service層的設計346
10.7 Controller層的設計353
10.8 部署到騰訊雲370
10.9 小結373