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