zoukankan      html  css  js  c++  java
  • 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) 聊天程序【 亿级流量】实战 开源项目实战
  • 相关阅读:
    the Agiles Scrum Meeting 2
    团队任务拆解
    the Agiles Scrum Meeting 1
    [敏捷软工团队博客]技术规格说明书
    [敏捷软工团队博客]功能规格说明书
    团队贡献分分配规则
    第一次例会
    团队项目技术规格说明书
    团队项目功能规格说明书
    NABCD-name not found
  • 原文地址:https://www.cnblogs.com/crazymakercircle/p/12041568.html
Copyright © 2011-2022 走看看