JeeSite Spring Cloud - 分布式系统套件的整合


AGPL
跨平台
Java

软件简介

引言

JeeSite Spring Cloud 是基于 Spring Cloud Finchley 的一个分布式系统套件的整合。

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

技术选型

  • 分布式系统主框架:Spring Cloud Finchley
  • 服务治理注册与发现:Spring Cloud Netflix Eureka
  • 服务容错保护限流降级:Spring Cloud Netflix Hystrix
  • 分布式统一配置中心:Spring Cloud Config
  • 网关路由代理调用:Spring Cloud Gateway
  • 声明式服务调用:Spring Cloud OpenFeign

子项目介绍

快速运行

  • 初始化数据库(下载最新的mysql脚本): https://gitee.com/thinkgem/jeesite4/attach_files
  • 配置 /jeesite-cloud-config/../cloud-config/application.yml 分布式统一配置文件的 JDBC 数据源和 Redis 缓存服务地址等信息。
  • 按顺序运行以下启动类的main方法:
    • /jeesite-cloud-eureka/../EurekaApplication.java
    • /jeesite-cloud-config/../ConfigApplication.java
    • /jeesite-cloud-gateway/../GatewayApplication.java
    • /jeesite-cloud-module-base/../BaseApplication.java
    • /jeesite-cloud-module-test1/../Test1Application.java
    • /jeesite-cloud-module-test2/../Test2Application.java
  • 以上都启动成功后,浏览器访问网关项目地址即可:
    • 访问地址:http://127.0.0.1:8980/js system admin
    • 若访问报错,请再等待一会,可能服务未完全启动完成

调用实例演示

网关代理模块调用

模块之间互相调用

  • test1 模块调用 test2 模块(树表):http://127.0.0.1:8980/js/test1/testTree/list
    • 控制器位置:jeesite-cloud-module-test1/../web/TestTreeController.java
    • 调用的服务API位置:/jeesite-cloud-module-test2/../web/api/TestTreeServiceApiController.java
  • test2 模块调用 test1 模块(单表):http://127.0.0.1:8980/js/test2/testData/list
    • 控制器位置:jeesite-cloud-module-test2/../web/TestDataController.java
    • 调用的服务API位置:/jeesite-cloud-module-test1/../web/api/TestDataServiceApiController.java

技术交流方式

授权协议声明

  1. 您可以免费使用、修改和衍生代码,但不允许修改后和衍生的代码做为闭源软件发布。
  2. 修改后和衍生的代码必须也按照当前协议进行流通,对修改后和衍生的代码必须向社会公开。
  3. 如果您修改了代码,需要在被修改的文件中进行说明,并遵守代码格式规范,帮助他人更好的理解您的用意。
  4. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议、版权声明和其他原作者规定 需要包含的说明(请尊重原作者的著作权,不要删除或修改文件中的@author信息)。
  5. 本项目仅用于学习和交流,未得到官方授权不得用于商业用途。