当前位置: 首页 > 软件库 > 程序开发 > 微服务框架 >

open_springcloud

基于 Spring Cloud 的分布式微服务组件
授权协议 MIT
开发语言 Java
所属分类 程序开发、 微服务框架
软件类型 开源软件
地区 国产
投 递 者 吕冠宇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

介绍

1.该项目为 Spring Cloud 分布式微服务模板架构项目,已经集成事务管理器, 致力于提供微服务开发的一站式解决方案。 此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

软件架构

1、使用技术:

spring boot :2.1.4.RELEASE
springcloud :Greenwich.SR1
mybatis-plus:3.0.7.1
redis:5.0.5  开发 ( 3.0.503)
mysql : 5.5
jdk: 1.8
txlcn: 5.0.2.RELEASE (分布式事务解决组件)
zipkin: 2.1.1.RELEASE (链路追踪 ,服务监控)
eureka:2.1.1.RELEASE (注册中心)

2、项目目录结构:

common-eureka-server:注册中心服务

common-fegin-server:各服务fegin 调用业务接口api 

common-gateway-server: 网关服务 (通过网关映射不同服务)
    所有静态文件由网关做转发统一处理

common-txlcn-manager-server: 引入txlcn 事务管理器 服务

txlcn事物组件地址

common-zipkin-server: 链路追踪服务

common-item-config:服务模块公共配置

common-item-constant:服务模块常量

common-item-util:服务模块集成工具包
db: 数据库文件:

      1.common-txlcn-magager-server.sql 事务管理器服务数据库
      2.project-bourse-data-kline.sql 金融数据服务数据库
      3.project-bourse-data-kline 生成八字 服务 数据库
        
img:说明文档引入图片

doc: 项目文档等资料存放目录

log:日志目录

page:各服务管理后台页面

-----------------------各独立服务项目模块--------------------------------------------------

  • project-bourse-data-kline:金融数据服务 (已完成接口服务)

    文档地址:https://www.showdoc.cc/422262238104889 访问密码:23456

  • project-open-birthdate-item:生成八字 服务 (待完成...)

  • project-platform-item: 权限管理快速平台 服务(待完成...)

4、项目登陆权限校验 (基于拦截器)(权限平台)

使用技术:redis+JWT 

具体方法: 
    1。用户登陆后生成 jwt token 信息,每次 生成 token 信息都不一样
    2。存储到redis 中,设置超时
    3。用户登陆成功后,返回前端token 信息
    4。前端请求接口 时 把 token 放入 heder 头中
    5。每次请求,通过拦截器校验 token 信息
    6。登陆状态
       未登录:拦截器中获取不到 token  信息 则用户未登陆
       单设备登录:请求头中获取的 token信息 与 redis 中存储的不一致 则用户已在其他地方登陆
       登陆超时:redis 中 获取不到用户的 token 信息,则用户登陆超时

5、项目启动顺序

common-eureka-server --> common-txlcn-manager-server
                                       |
                                       V 
   common-gateway-server <--  common-zipkin-server
           |
           V
   project-platform-item  .... 等其他各服务模块

安装教程

  • 单个服务安装教程:

    1、搭建服务器环境

    1:到 `https://oneinstack.com/` 网站自定义安装包 (数据库,redis ,jdk ,nginx)
     2:服务器上执行从上面网站复制的 命令:

    wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --jdk_option 2 --db_option 4 --dbinstallmethod 1 --dbrootpwd oneinstack --redis --reboot

    2、创建数据库,

    3、服务器上创建项目目录 文件

    1:静态资源目录:/home/project/staticFile
     2:配置文件目录:/home/project/config
     3: 日志目录:/home/project/log
     4:启动脚本:
         把doc 文件下的shell 脚本 放入 /home/project/ 目录下
         修改脚本名字为:charge.sh
         修改启动脚本为可执行:chmod 777  xxx.sh
         修改脚本文件里启动项目名字: 为 xxx.jar

4、把服务打包成 jar 包 修改名字 为 xxx.jar  上传到服务器 /home/project/ 目录下 
     启动项目 : ./charge.sh  restart 
     查看实时日志: tail -f ./log/catalina.out 
       
5、上传静态资源 前端文件 到服务器  /home/project/staticFile/ 目录下
    1、该目录下如果创建后台管理页面目录  admin(或其他名字)  则把静态页面放到 admin 目录下
        访问路径为:http://ip:端口/admin/index.html
    2、如果index.html 在  /home/project/staticFile/ 目录下
        则项目访问路径为:http://ip:端口/index.html
    3、可在 /home/project/staticFile/ 下创建多个项目的静态资源文件目录,
        访问路径为:http://ip:端口/静态资源文件目录/index.html
6、使用 nginx 转发项目 ,在nginx 里配置 https  访问
 相关资料
  • 我有两个微服务和调用来更新数据,然后插入另一个数据,但让我们考虑一下 失败,然后我们需要回滚由 更新的数据,否则我们将处于不一致的状态。 我也经历了佐贺patterns.will它满足了这种矛盾 谁能为此提出更好的解决方案?

  • 最近在学微服务的分布式事务,不太明白为什么在微服务这种分布式系统中,原有的单体acid会出现问题 希望大佬们可以讲一下原理和思想

  • 本文向大家介绍SpringCloud整合分布式服务跟踪zipkin的实现,包括了SpringCloud整合分布式服务跟踪zipkin的实现的使用技巧和注意事项,需要的朋友参考一下 1、zipkin zipkin是Twitter的一个开源项目,它基于Google Dapper实现。我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的REST API接口来辅助我们查询跟踪数据以实现对分布

  • 我知道最好使用 Saga 模式,但想想还是很有趣的: < Li > 2PC/XA分布式事务是否提供了仅从一个应用程序和一个TM与多个RM进行事务的可能性? < li >如果没有-如果每个微服务只能访问自己的数据库,如何在多个微服务之间使用2PC/XA分布式事务来提供使用2PC的能力?我很乐意看到一个例子 < li >我们是否需要将TransactionManager服务作为一个独立的微服务,在多个

  • 问题内容: 您将使用哪种分布式锁定服务? 要求是: 可以从不同的进程/机器看到的互斥(锁定) 锁定…释放语义 超时后自动释放锁-如果锁持有人死亡,它将在X秒后自动释放 Java实现 很高兴拥有:.Net实现 如果免费:死锁检测/缓解 易于部署,请参阅下面的注释。 我对诸如“可以通过数据库完成”或“可以通过JavaSpaces完成”之类的答案不感兴趣-我知道。我对现成的,现成的,经过验证的实现感兴趣

  • 链接 Web API Controllers 动态WebApi层 集成OData 集成Swagger UI ASPNET Core 集成OData

  • 得到了一个使用:< code>spring-boot、< code>spring-cloud、< code>postgresql作为微服务系统的项目。 有 2 个服务,比如 SA 和 SB,它们分别在 2 个 RDBMS 数据库上运行,比如 DA 和 DB。 现在,有一个包含2个子步骤的操作: Http客户端会向服务SA发出请求,将记录保存到中。 然后,SA向服务SB发送请求,将记录保存到中。 作

  • 我一直在读关于微服务和事件来源的文章,以及它是如何将服务从另一个服务中分离出来的。有两个概念我不清楚。首先,如果在微服务体系结构中,每个服务都可以独立开发,我们如何解释服务间的通信依赖? 例如,如果服务A和服务B需要通信,那么A需要将一个事件发送到一个中央总线,而B需要监听该事件并根据该事件采取行动,但这似乎会产生很多依赖关系。现在,如果我正在开发服务B,我需要知道服务A可以生成的所有事件。此外,