摘要: 【解决方案】多租户技术架构设计入门(二) 对于整个多租户技术架构的设计而言,笔者认为最关键的就是 3 点:数据隔离模式(策略) + 统一的用户&权限体系 + 调用时的行为隔离(请求拦截)。作为入门系列的第二篇,本文主要分享的是**在业务系统的应用内部如何对多数据源进行切换**,而底层的数据库硬件资源管理这部分会简单带过(一般由运维团队来负责搭建)。 阅读全文
posted @ 2025-04-02 09:02 CodeBlogMan 阅读(506) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】Spring Boot Starter 的应用场景与自动配置 一般在企业开发中,会有专门的 git 仓库(组)来统一放置各个系统对应的 Starter 项目,其中会包括一个空的框架,拉取下来后我们就可以自己开发了。 在开发之前,我们需要知道常见的使用场景有哪些: 1、API 调用:将某系统的部分功能经过封装后通过 API 暴露出去,方便内部/外部系统调用; 2、基础组件:比如全局统一的 Http 组件、缓存组件和一些通用工具包等; 3、底层框架:主要是公司自研的系统框架。 阅读全文
posted @ 2025-03-11 09:08 CodeBlogMan 阅读(332) 评论(4) 推荐(1) 编辑
摘要: 【解决方案】基于数据库驱动的自定义 TypeHandler 处理器 笔者在最近的项目开发中,频繁地遇到了 Java 类型与 JDBC 类型之间的转换问题: 1、数据库的 varchar 类型字段,需要存储 Java 实体中的 JSON 字符串; 2、数据库的 int 类型字段,需要存储 Java 实体中的 Enum 枚举。 阅读全文
posted @ 2024-10-09 08:32 CodeBlogMan 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 【解决方案】Java 互联网项目中常见的 Redis 缓存应用场景 本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用场景,例如常见的 String 类型 Key-Value、对时效性要求高的场景、Hash 结构的场景以及对实时性要求高的场景等,全面涵盖了 Redis 中所有的 5 种基本类型。 阅读全文
posted @ 2024-09-23 08:27 CodeBlogMan 阅读(589) 评论(0) 推荐(2) 编辑
摘要: 【解决方案】项目重构之如何使用 MySQL 替换原来的 MongoDB 笔者今天要分享的是一个项目重构过程中如何将数据库选型由原来的 MongoDB 改为 MySQL 的思考,涉及到业务当前的痛点、选型分析、解决的核心思路,最后会给出简单的 demo。 阅读全文
posted @ 2024-09-02 08:17 CodeBlogMan 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 【团队建设】如何做好团队开发中的 CodeReview(代码评审)? 你是否曾写过一个很简单的需求或者优化?而且你认为不需要审查,就可以直接合并到主分支。可能过了几天或者几周,你突然意识到你犯了一个明显的或是不应该犯的错误,如果有其他人来审查代码,那这个问题可能就会被发现并及时处理。 阅读全文
posted @ 2024-08-19 08:16 CodeBlogMan 阅读(2766) 评论(4) 推荐(7) 编辑
摘要: 【解决方案】Java 互联网项目中消息通知系统的设计与实现(下) 书接上回,消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。该系统既需要与文章系统、订单系统、会员系统等相关联,也需要和其它业务系统相关联,是一个偏底层的通用服务系统。 阅读全文
posted @ 2024-08-05 08:15 CodeBlogMan 阅读(1115) 评论(4) 推荐(3) 编辑
摘要: 【进阶篇】一文搞清楚网页发起 HTTP 请求调用的完整过程 最近笔者在实际项目开发中会频繁涉及到服务之间的远程调用、域名的配置和请求的转发等与计算机网络相关的知识。 这些其实在读本科和考研的时候都有学习过理论,但为了更透彻地掌握便于在工作中使用,我还是决定写一篇文章来分享实际开发中是怎么应用的。 阅读全文
posted @ 2024-07-15 08:26 CodeBlogMan 阅读(1331) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 项目中对使用递归的理解分享 笔者在最近的项目开发中,遇到了两个父子关系紧密相关的场景:评论树结构、部门树结构。具体的需求如:找出并删除某条评论下的所有子评论id集合,找出并删除某个部门下所有的子部门id集合。 阅读全文
posted @ 2024-07-02 08:12 CodeBlogMan 阅读(450) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念 RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。 作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。 阅读全文
posted @ 2024-06-25 08:19 CodeBlogMan 阅读(973) 评论(0) 推荐(2) 编辑
摘要: 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上) 消息通知系统(notification-system)作为一个独立的微服务,完整地负责了 App 端内所有消息通知相关的后端功能实现。该系统既需要与文章系统、订单系统、会员系统等相关联,也需要和其它业务系统相关联,是一个偏底层的通用服务系统。 阅读全文
posted @ 2024-06-19 08:00 CodeBlogMan 阅读(1734) 评论(0) 推荐(3) 编辑
摘要: 【进阶篇】使用 Stream 流对比两个集合的常用操作分享 Stream API 是 Java 8 中最为重要的更新之一,是处理集合的关键抽象概念,也是每个 Java 后端开发人员都必须无条件掌握的内容。 在之前的开发中,遇到了这样的需求:记录某个更新操作之前的数据作为日志内容,之后可以供管理员在页面上查看该日志。 阅读全文
posted @ 2024-05-27 08:13 CodeBlogMan 阅读(1194) 评论(2) 推荐(2) 编辑
摘要: 【进阶篇】基于 Redis 实现分布式锁的全过程 这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较高,但整理成文章发布出来还是花了一点时间。在一些移动端、用户量大的互联网项目中,经常会使用到 Redis 分布式锁作为控制访问高并发的工具。 阅读全文
posted @ 2024-05-06 14:40 CodeBlogMan 阅读(1466) 评论(0) 推荐(2) 编辑
摘要: 【进阶篇】Java 实际开发中积累的几个小技巧(二) 笔者目前从事一线 Java 开发今年是第 3 个年头了,从 0-1 的 SaaS、PaaS 的项目做过,基于多租户的标准化开发项目也做过,项目的 PM 也做过... 在实际的开发中积累了一些技巧和经验,包括线上 bug 处理、日常业务开发、团队开发规范等等。现在在这里分享出来,作为成长的记录和知识的更新,希望与大家共勉。 阅读全文
posted @ 2024-04-16 10:09 CodeBlogMan 阅读(1026) 评论(0) 推荐(4) 编辑
摘要: 【解决方案】多租户技术架构设计入门(一) 多租户的概念是我在毕业后不久进第一家公司接触到的,当时所在部门的业务是计划建设一套基于自研的、基于开放 API 的、基于 PaaS 的、面向企业(ToB)的多租户架构平台,将我们的服务可以成规模地、稳定高效地交付给客户使用。 阅读全文
posted @ 2024-04-07 10:06 CodeBlogMan 阅读(6963) 评论(0) 推荐(6) 编辑
点击右上角即可分享
微信分享提示