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 事务管理器 服务
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 访问
目录 一、前言 二、微服务接口之间的调用问题 2.1 Httpclient 2.2 Okhttp 2.3 HttpURLConnection 2.4 RestTemplate
Spring Cloud Open Service Broker的作用 Spring Cloud Open Service Broker是一个用于构建实现Open Service Broker API的Spring Boot应用程序的框架。 Open Service Broker API项目允许开发人员为云本地平台(如Cloud Foundry,Kubernetes和OpenShift)中运行的应
英文原文:https://spring.io/projects/spring-cloud-open-service-broker 目录 概述 Spring Boot配置 快速开始 学习 文档 示例 概述 Spring Cloud Open Service Broker是一个用于构建实现Open Service Broker API的Spring Boot应用程序的框架。 Open Service
Open Service Broker 依赖说明:用于构建实现Open Service Broker API的Spring Boot 应用程序的框架,该框架可以向在Cloud Foundry、Kubernetes和OpenShift等云原生平台中运行的应用程序提供服务。 Spring Cloud Open Service Broker是一个用于构建实现Open Se
我有两个微服务和调用来更新数据,然后插入另一个数据,但让我们考虑一下 失败,然后我们需要回滚由 更新的数据,否则我们将处于不一致的状态。 我也经历了佐贺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可以生成的所有事件。此外,