热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RocketAPI集群模式部署

1.问题?当Rocket-API需要多实例部署,以达到负载和并发访问的目的时,任意一个实例API信息的修改,动态数据源配置

1. 问题?


  1. 当Rocket-API需要多实例部署,以达到负载和并发访问的目的时,任意一个实例API信息的修改,动态数据源配置的变更等,带有实例属性的信息时,变更无法广播给所有实例,就会导致信息不一致的问题
  2. 在以往需要以重启整个集群所有实例为代价,让各实例去获取到最新信息,极大的影响到线上用户的访问
  3. 在Rocket-API 2.4.0.RELEASE中提交了此功能,变更实例之间实时同步,无需重启

2. 配置方式如下:


  1. 在yml中配置集群模式如下:默认值为none表示单机模式。redis表示以Redis组件来完成集群模式。如果可以,你能够自定义通知形式,参考:com.github.alenfive.rocketapi.extend.RedisClusterNotify

spring:rocket-api:cluster-type: redis

  1. 引入redis pom依赖,配置好相关连接配置

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

  1. 启动多个实体&#xff0c;测试API的修改&#xff0c;动态数据源的修改&#xff0c;动态配置的修改&#xff0c;是否所有实体都得到了变更

在这里插入图片描述






1. Rocket-API Cluster Redis集群模式原理如下&#xff1a;


  1. 使用Redis的发布订阅者模式特性&#xff0c;将所有的新增&#xff0c;修改&#xff0c;删除信息广播给所有订阅者&#xff0c;订阅者接收信息完成本地缓存的更新

在这里插入图片描述
2. 相关配置类查看&#xff1a;com.github.alenfive.rocketapi.config.RedisClusterNotifyConfig






Rocket-API 简介


项目地址&#xff1a;https://gitee.com/alenfive/rocket-api

用尽可能简单的方式&#xff0c;完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班&#xff0c;拒绝重复劳动&#xff0c;远离搬砖
特性


  1. 用于快速开发API接口。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.
  2. 可视化界面&#xff0c;将入参自动封装到可执行的脚本上&#xff0c;支持所有关系性数据库SQL执行语句&#xff0c;非关系型MONGODB查询语句.欢迎扩展
  3. 完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性&#xff0c;新老项目都能快速集成
    只需编写一行代码即可完成大部分的业务需求开发&#xff0c;使用难度级别&#xff08;测试 or 运维&#xff09;也可参与开发
  4. 在线动态编译&#xff0c;无需重启&#xff0c;即时生效&#xff0c;多数据源操作
  5. 版本控制,历史记录比对&#xff0c;回滚等功能
  6. 远程一键发布到线上环境
  7. 线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成&#xff0c;历史调用记录存储&#xff0c;回塑
  8. 代码提示&#xff0c;SQL提示&#xff0c;语法提示
  9. 用户管理控制&#xff0c;安全性控制&#xff0c;以及历史行为记录
    经过多次项目验证&#xff0c;传统业务型开发&#xff0c;服务端效率能够提升3-5倍&#xff0c;前后端联调提升效率1倍&#xff0c;测试效率2倍提升

推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文简述了数据库的概念、作用及发展阶段的特点。数据管理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统阶段,分别描述了各个阶段的特点。数据库、数据库管理系统和数据库系统的含义和联系也进行了简述。数据库是长期存储在计算机内、有组织、可共享的大量数据的集合,而数据库管理系统是整个数据库系统的核心部分,负责统一管理和控制用户对数据库的操作。数据库系统是以数据库为基础的应用系统。总结了数据库的保存方式、管理方式、共享性和独立性等特点。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Spring Batch中多线程配置及实现例子
    本文介绍了在Spring Batch中开启多线程的配置方法,包括设置线程数目和使用线程池。通过一个示例演示了如何实现多线程从数据库读取数据并输出。同时提到了在多线程情况下需要考虑Reader的线程安全问题,并提供了解决方法。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
author-avatar
小小的dream
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有