SpringCloud 腳手架


瘋狂創客圈 Java 高並發【 億級流量聊天室實戰】實戰系列 【博客園總入口

架構師成長+面試必備之 高並發基礎書籍 【Netty Zookeeper Redis 高並發實戰


前言

Crazy-SpringCloud 微服務腳手架 &視頻介紹

Crazy-SpringCloud 微服務腳手架,是為 Java 微服務開發 入門者 准備的 學習和開發腳手架。並配有一系列的使用教程和視頻,大致如下:

高並發 環境搭建 圖文教程和演示視頻,陸續上線:

中間件 鏈接地址
Linux Redis 安裝(帶視頻) Linux Redis 安裝(帶視頻)
Linux Zookeeper 安裝(帶視頻) Linux Zookeeper 安裝, 帶視頻
Windows Redis 安裝(帶視頻) Windows Redis 安裝(帶視頻)
RabbitMQ 離線安裝(帶視頻) RabbitMQ 離線安裝(帶視頻)
ElasticSearch 安裝, 帶視頻 ElasticSearch 安裝, 帶視頻
Nacos 安裝(帶視頻) Nacos 安裝(帶視頻)

Crazy-SpringCloud 微服務腳手架 圖文教程和演示視頻,陸續上線:

組件 鏈接地址
Eureka Eureka 入門,帶視頻
SpringCloud Config springcloud Config 入門,帶視頻
spring security spring security 原理+實戰
Spring Session SpringSession 獨立使用
分布式 session 基礎 RedisSession (自定義)
重點: springcloud 開發腳手架 springcloud 開發腳手架
SpingSecurity + SpringSession 死磕 (寫作中) SpingSecurity + SpringSession 死磕

小視頻以及所需工具的百度網盤鏈接,請參見 瘋狂創客圈 高並發社群 博客

1 Spring Cloud 、Spring Boot版本選項

Spring Cloud是基於Spring Boot構建的,其版本也是有對應關系的,在構建項目時,注意版本之間的對應關系,版本對不上會有問題。

Spring Cloud Spring Boot
Camden 1.4.x
Dalston 1.5.x
Edgware 1.5.x
Finchley 2.0.x

Finchley依賴2.0.x版本的Spring Boot,而2.0.x版本的Spring Boot依賴Spring Framework 5。

   <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.0.8.RELEASE</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

2 {Crazy-SpringCloud 微服務開發腳手架} 功能介紹

在這里插入圖片描述

本腳手架,側重於開發,而不是側重於 生產環境的監控。凡是與開發有關的部分,后續會逐步的增加和完善。

4. 模塊規范說明

crazymaker-server        --  父項目,公共依賴
│  ├─cloud-center        --  基礎服務中心
│  │  ├─cloud-eureka   --  注冊中心
│  │  ├─cloud-config    --  配置中心
│  │  ├─cloud-zuul        --  網關服務
│  │  ├─cloud-zipkin      -- 監控中心
│  ├─crazymaker-base   -- 公共依賴
│  │  ├─base-common   -- 普通的公共依賴,如utils 通用方法
│  │  ├─base-runtime    --  運行時公共依賴,用運行時的 一些通用Bean的啟動
│  ├─crazymaker-user   -- 用戶微服務
│  │  ├─user-api            -- 用戶DTO、Constants 等
│  │  ├─user-client        --  用戶服務的 Feign 遠程調用模塊
│  │  ├─user-provider   -- 用戶服務核心實現,包含controller層、service層、dao層的代碼實現
│  ├─crazymaker-seckill  --秒殺微服務
│  │  ├─seckill-api            -- 秒殺 DTO、Constants 等
│  │  ├─seckill-client        -- 秒殺服務的 Feign 遠程調用模塊
│  │  ├─seckill-provider   --秒殺服務核心實現,包含controller層、service層、dao層的代碼實現

5.部署流程

  • 操作系統:

建議使用 centos 或者其他 linux 。 如果個人學習在windows環境,強烈建議使用 虛擬機 。

  • 中間件:

依賴於Redis、Zookeeper、RabbitMQ,啟動服務前請安裝和啟動好 Mysql 、Redis、Zookeeper、RabbitMQ。后面三個軟件的安裝,請參考以下教程和視屏:

Redis: Linux Redis 安裝(網盤中帶離線工具、實戰視頻
Zookeeper: Linux Zookeeper 安裝(帶視頻)
RabbitMQ: Linux RabbitMQ 安裝(網盤中帶離線工具、實戰視頻

  • 數據庫

可以是 Mysql 、oracle 或者其他 JPA 支持的數據庫。 微服務中配置了自動建表。 所以,沒有提供專門的sql腳本。 例如:

spring:
  application:
    name: user-provider
  jpa:  #配置自動建表:updata:沒有表新建,有表更新操作,控制台顯示建表語句
    hibernate:
      ddl-auto: update
  • 部署腳本

提供了linux系統的啟動腳本 start.sh, 需要適當的調整一些參數。 具體的部署,請參見 {瘋狂創客圈} 腳手架部署視頻

6.端口配置

組件 端口
Redis 6379 Linux Redis 安裝(帶視頻)
zookeeper 2181 Linux Zookeeper 安裝, 帶視頻
myql 3306
cloud-eureka 7777 Eureka 入門,帶視頻
cloud-config 7788
cloud-zuul 7799
crazymaker-user 7702
crazymaker-seckill 7701

7.環境變量

通過環境變量的使用,使得各種服務器的主機切換,多了一層靈活性。而且,可以做到不用明文編碼一些密碼之類的敏感信息,多了一層安全性。

配置文件中,會涉及到以下環境變量:

export DB_HOST=192.168.233.128
export REDIS_HOST=192.168.233.128
export EUREKA_ZONE_HOST=192.168.233.128
export RABBITMQ_HOST=192.168.233.128
export ZOOKEEPER_HOSTS=192.168.233.128

這些環境變量,包含 Eureka、Redis、RabbitMq 等服務器的IP地址。如果在bootstrap.yml中要對 Eureka 進行配置,可以使用環境變量 EUREKA_ZONE_HOST ,具體如下:

eureka:
  client:
    serviceUrl:
      defaultZone: http://${EUREKA_ZONE_HOST:localhost}:7777/eureka/

上面的寫法,通過${EUREKA_ZONE_HOST} 表達式去獲取Eureka的IP地址。並且,環境變量后面跟着一個冒號和一個默認值,表示如果當前系統環境變量中 EUREKA_ZONE_HOST 為空時,就會使用默認值 localhost 來填充了。
總之,通過環境變量的使用,使得各種服務器的主機切換,多了一層靈活性。而且,可以做到不用明文編碼一些密碼之類的敏感信息,多了一層安全性。

8.{Crazy-SpringCloud 微服務開發腳手架} 部署視頻

組件 鏈接地址
Eureka Eureka 入門,帶視頻
SpringCloud Config springcloud Config 入門,帶視頻
spring security spring security 原理+實戰
Spring Session SpringSession 獨立使用
分布式 session 基礎 RedisSession (自定義)
重點: springcloud 開發腳手架 springcloud 開發腳手架
SpingSecurity + SpringSession 死磕 (寫作中) SpingSecurity + SpringSession 死磕
crazymaker-USER ....ing
crazymaker-seckill ....ing
cloud-zuul ....ing

小視頻以及所需工具的百度網盤鏈接,請參見 瘋狂創客圈 高並發社群 博客

具體,請關注 Java 高並發研習社群博客園 總入口


最后,介紹一下瘋狂創客圈:瘋狂創客圈,一個Java 高並發研習社群博客園 總入口

瘋狂創客圈,傾力推出:面試必備 + 面試必備 + 面試必備 的基礎原理+實戰 書籍 《Netty Zookeeper Redis 高並發實戰

img


瘋狂創客圈 Java 死磕系列

  • Java (Netty) 聊天程序【 億級流量】實戰 開源項目實戰


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM