JeeSite Spring Cloud安装搭建

JeeSite Spring Cloud安装搭建

引言

JeeSite Cloud 具备 JeeSite 4.x 的所有功能,是在 JeeSite 4.x 基础之上,完成的 Spring Cloud 分布式系统套件的整合。它利用 JeeSite 4.x 的开发便利性巧妙地简化了分布式系统开发。

JeeSite Cloud 并没有重复制造轮子,它只是将目前比较成熟的、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

集成阿里优秀组件 Nacos 服务治理与配置中心、集成 Sentinel 流量卫兵;集成 Zipkin 链路追踪;集成 LCN 分布式事务等,详见技术选型章节。

特点:用经典开发模式,开发分布式应用,两个字【简单】,一个字【快】。

源码仓库地址:https://gitee.com/thinkgem/jeesite4-cloud

优势(只写别人没有的)

  1. 在 JeeSite 单应用基础之上,完成的 Cloud 功能,使用经典开发模式,就像开发单应用一样开发分布式应用
  2. 它提供了微服务模块的代码生成工具,快速生成开发微服务功能,包含微服务的发布和调用接口
  3. 我们将 api 和 client 合体为一个工程,自动适应自己调用自己 client 的影响,简化工程数量
  4. 解决 Feign 接口不能多重继承问题,如一些通用操作(增删改查)微服务接口基类实现,这些都不用自己写了
  5. 统一的授权认证、基础数据微服务,都已经提供查询 client 接口,其他微服务应用模块中可直接获取用户、组织、权限、字典等基础数据。微服务之间调用中,出现的会话及缓存的一致性统一得到解决。
  6. 如 UserUtils、EmpUtils、EmpUserService、OfficeService 等等众多的基础服务工具类,都可以直接从基础数据的微服务中获取数据,你不必考虑跨 web 服务的数据交互,我们已经帮你做了。
  7. 微服务组件 Nacos、Sentinel、Zipkin 提供源码方式启动部署,方便开发调试。
  8. 写一个别人有的,使用柔性事务解决,跨 web 服务的情况,入侵性非常小哦。
  9. 集成工作流,提供BPM引擎独立的服务,客户端只需调用API,无需加载复杂流程引擎。
  10. 其它优势(按 Ctrl + Shift 点击链接):http://jeesite.com/docs/feature/

技术选型

  • 分布式系统套件版本:Spring Cloud 2020.0.4 + Alibaba 2021.1
  • 服务治理注册与发现:Spring Cloud Eureka / Consul / Nacos 2.0
  • 分布式统一配置中心:Spring Cloud Config / Nacos 2.0
  • 网关路由代理调用:Spring Cloud Gateway (动态网关)
  • 声明式服务调用:Spring Cloud OpenFeign
  • 客户端负载均衡:Spring Cloud LoadBalancer
  • 阿里流量防卫兵:Sentinel 1.8 (限流、熔断降级、负载保护)
  • 分布式事务框架:Seata 1.4 / TX-LCN 5.0 (可选组件)
  • 分布式链路追踪:Zipkin 2.23 (可选组件)
  • 工作流引擎框架:Flowable 6.6 (可选组件)

子项目介绍

  • 服务注册:jeesite-cloud-eureka : http://127.0.0.1:8970
  • 配置中心:jeesite-cloud-config : http://127.0.0.1:8971/project/default
  • 服务注册和配置中心 Nacos 版本(推荐) :http://127.0.0.1:8848/nacos/index.html
  • 网关路由:jeesite-cloud-gateway : http://127.0.0.1:8980/js/a/login
  • 核心模块(统一授权认证服务、平台基础数据服务):
    • 核心主项目:jeesite-cloud-module-core : http://127.0.0.1:8981/js
    • 客户端项目(提供其它模块调用):jeesite-cloud-module-core-client
  • 测试模块1(单表增删改查示例):
    • 模块1主项目:jeesite-cloud-module-test1 : http://127.0.0.1:8982/js
    • 模块1客户端项目(提供其它模块调用):jeesite-cloud-module-test1-client
  • 测试模块2(树表增删改查示例):
    • 模块2主项目:jeesite-cloud-module-test2 : http://127.0.0.1:8983/js
    • 模块2客户端项目(提供其它模块调用):jeesite-cloud-module-test2-client
  • 测试模块3(代码生成的模块和代码生成的增删改查,该模块完全没有手写,全部为生成的):
    • 模块3主项目:jeesite-cloud-module-test3 : http://127.0.0.1:8985/js
    • 模块3客户端项目(提供其它模块调用):jeesite-cloud-module-test3-client
  • 业务流程基础服务(流程引擎服务,客户端只需调用接口,无需加载引擎逻辑):
    • 流程主项目:jeesite-cloud-module-bpm : http://127.0.0.1:8990
    • 客户端项目(提供其它模块调用):jeesite-cloud-module-bpm-client
  • 分布式事务 Seata 服务(推荐):
    • 服务主项目:jeesite-cloud-module-seata : http://127.0.0.1:8091
    • 客户端项目(提供其它模块调用):jeesite-cloud-module-seata-client
  • 分布式事务 LCN 服务:
    • 服务主项目:jeesite-cloud-module-txlcn : http://127.0.0.1:7970
    • 客户端项目(提供其它模块调用):jeesite-cloud-module-txlcn-client
  • 熔断限流:jeesite-cloud-sentinel : http://127.0.0.1:9311
  • 链路追踪:jeesite-cloud-zipkin : http://127.0.0.1:9411
  • 解释:主项目为服务提供者、客户端项目为服务消费者

快速运行

初始化数据库

JeeSite Cloud 版本的数据库与 JeeSite 单机版数据库相同,你可以 下载最新的mysql脚本 或者使用 init-data.bat(sh) 命令完成初始化(支持多种数据库)。

安装 Redis

Redis 是一个缓存数据库,主要用来集中式管理共享会话和系统缓存的,如果你已安装 Redis,可以忽略这个步骤。

由于 Windows 版本的 Redis 安装不太方便,所以我们提供了该版本的安装文件和安装脚本。

下载地址:https://gitee.com/thinkgem/jeesite4-cloud/attach_files 找到 Redis-x64-4.0.2.2.zip 下载文件。

解压 Redis-x64-4.0.2.2.zip 压缩包,运行 service-install.bat 安装 Windows 系统服务。

默认地址:127.0.0.1;默认端口:6379;默认密码:1234,可根据自己需要修改 conf 文件。

启动 Nacos 服务

Nacos 致力于帮助您发现、配置和管理微服务。 Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

如果使用 Nacos 就不用部署 jeesite-cloud-eureka 和 jeesite-cloud-config 了。

JeeSite Cloud 提供了 2 种部署方式,你可以下载 jar 也可以 src 方式运行:

jar 方式:

  1. 下载地址:https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.zip
  2. 解压 nacos-server-2.0.3.zip 压缩包,运行 /bin/startup.cmd(sh) 启动服务。

src 方式:

  1. 在 Eclipse 或 IDEA 中 找到 jeesite-cloud-nacos 项目。
  2. 运行 NacosApplication 类的 main 方法,即可启动服务。

配置 mysql 存储:

  1. 默认情况 Nacos 采用 Derby 数据库,你可以将数据库切换到 MySQL 下。
  2. 找到 /nacos/src/main/resources/config/nacos-mysql.sql 文件导入数据表。
  3. 找到 Nacos 的配置文件(application.properties 或 application.yml)如下:
spring.datasource.platform: mysql

### Count of DB:
db.num: 1

### Connect URL of DB:
db.url.0: jdbc:mysql://127.0.0.1:3306/nacos?useSSL=false&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user: root
db.password: 123456

# 如果是 application.properties 文件,将 key 后的冒号换为等号即可。

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » JeeSite Spring Cloud安装搭建