首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot],共4254篇文章
优秀的个人博客,低调大师

通过Springboot拆分服务构建微服务集

应用背景: 1.基于Spring Boot开发 2.依赖ActiveMQ,Kafka,Redis,Mongodb,MySQL等开源软件 3.内部服务图片服务器,分布式计算平台服务,检索服务,消息推送服务等 拆分原因: 1.(原有的)应用模块之间高度耦合,各个模块都担当了牵一发而动全身的“角色” 2.应用的配置信息分布到依赖个几个服务的配置中,配置信息冗余,对配置的修改改动地方过多 3.应用在依赖的基础服务的时候,没能遵循“依赖倒转原则”,导致基础服务升级,问题修复,功能增加时应用在面对变化,不够灵活 4.应用定制化开发分支与主线决裂,无法满足灵活定制化开发 拆分过程: 整个拆封过程中保持原有业务不变,逐步进行的。 1.先是把依赖基础服务的部分抽取出来,应用对依赖服务的操作全部通过抽象出来的接口进行。然后通过具体实现来完成基础服务的操作。比如:操作图片服务器的操作通过ImageServerClient进行,操作分布式计算平台服务通过PccServerClient进行。 2.梳理应用的配置信息,比如图片服务器配置,数据库配置等,搭建Spring Cloud Config服务(支持git,svn,Local File 读取配置文件)采用Local File的方式来管理配置文件;应用集成Spring Cloud Config Client ,配置信息统一才配置服务中读取。 3.进行应用拆分,将提供Http请求接口的拆分为WebApp,将提供RPC接口的拆分为App。然后这两类分别安装实现的业务功能进行拆分。 拆分的WebApp,App仍然采用Spring Boot框架。 拆分结果: 1.WebApp通过Spring Session + Redis来实现Session共享 2.WebApp,App通过请求配置服务(Spring Cloud Config Server)完成配置文件的读取,解决了拆封原因2的问题 3.拆分步骤1解决拆分原因3中的问题 4.各个独立的应用之间除了webApp要session共享外,其它的通信,数据流向都是通过中间件来完成 5.解决拆分原因4的问题就更加容易了,定制化开发仅需要添加定制的应用即可 访问应用: 1.应用是前后端分离,通过反向代理来完成Http请求到多个WebApp的转发 2.外部系统可以通过Http请求,TCP/IP的方式分别访问WebApp和App 拆分难点: 1.应用的模块划分,这个需要对应用业务流程,数据流向,依赖服务之间的调用关系以及通信协议清楚 2.避免为拆分而拆分 3.团队成员都能够理解拆分的原因,清楚操作的过程,能够想象到期望的结果 一个故事: 某一天女朋友包了两种饺子:大肉葱,韭菜鸡蛋。 我:一起煮 女朋友:说分开煮 我:不嫌麻烦 女朋友:我不吃大肉 我:那煮好,不捞大肉给你就好了 女朋友:那大肉葱煮烂了,咋办!锅里全是肉味 大而全的应用就像是一个锅煮各种饺子,小应用(微服务)就像是一锅煮一类饺子。 本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/1845951,如需转载请自行联系原作者

优秀的个人博客,低调大师

ORM 工具 HasorDB 4.3.4 发布,支持 Spring/SpringBoot 集成

介绍 HasorDB是一个全功能数据库访问工具,提供对象映射、丰富的类型处理、动态SQL、存储过程、内置分页方言20+、支持嵌套事务、多数据源、条件构造器、INSERT 策略、多语句/多结果。并兼容 Spring 及 MyBatis 用法。它不依赖任何其它框架,因此可以很方便的和任意一个框架整合在一起使用。 功能特性 熟悉的方式 JdbcTemplate 接口方式(高度兼容 Spring JDBC) Mapper 文件方式(高度兼容 MyBatis) LambdaTemplate (高度接近 MyBatis Plus、jOOQ 和 BeetlSQL) @Insert、@Update、@Delete、@Query、@Callable 注解(类似 JPA) 事务支持 支持 5 个事务隔离级别、7 个事务传播行为(与 Spring tx 相同) 提供 TransactionTemplate、TransactionManager 接口方式声明式事务控制能力(用法与 Spring 相同) 特色优势 支持 分页查询 并且提供多种数据库方言(20+) 支持 INSERT 策略(INTO、UPDATE、IGNORE) 更加丰富的 TypeHandler(MyBatis 40+,HasorDB60+) Mapper XML 支持多语句、多结果 提供独特的@{xxx, expr , xxxxx }规则扩展机制,让动态 SQL 更加简单 支持 存储过程 支持 JDBC 4.2 和 Java8 中时间类型 支持多数据源 Release.Note 支持 Spring Xml 配置方式使用 HasorDB 支持 Spring Boot @MapperScan 方式配置。 DynamicConnection 增加 releaseConnection 方法用于外部数据源管理器的连接释放操作。 优化 Mapper 匹配逻辑,增加 mapper 匹配成功率。 RefMapper 和 SimpleMapper 都标记了 DalMapper 注解 最后 在最后如果您觉得这个工具还不错可以给个 start 多多关注这个工具,地址为:https://gitee.com/zycgit/hasordb 此外如果你想更多了解它,可以在它的官网上详细阅读使用技巧https://www.hasordb.net

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册