系统架构

微服务 2.0 技术栈选型手册

发布于 2020-09-21

一、前言二、选型准侧三、微服务基础架构核心关注点四、服务框架选型五、运行时支撑服务选型六、服务监控选型七、服务容错选型八、后台服务选型九、服务安全选型十、服务部署平台选型十一、写在最后 一、前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件 一是Martin Fo...

阅读(277)评论(0)赞 (0)

Spring Boot 监听 Redis Key 失效事件实现定时任务

发布于 2020-09-21

业务场景 实现思路 开启 Redis key 过期提醒 引入依赖 相关配置 业务场景 我们以订单功能为例说明下: 生成订单后一段时间不支付订单会自动关闭。最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太影...

阅读(298)评论(0)赞 (1)

注意!JWT不是万能的,入坑需谨慎!

发布于 2020-09-19

越来越多的开发者开始学习 JWT  技术并在实际项目中运用 JWT 来保护应用安全。一时间,JWT 技术风光无限,很多公司的应用程序也开始使用 JWT(Json Web Token)来管理用户会话信息。本文将从 JWT 的基本原理出发,分析在使用 JWT 构建基于 Token 的...

阅读(144)评论(0)赞 (3)

Redis 分布式锁的正确实现方式(Java 版)

发布于 2020-09-18

前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。   本文将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误...

阅读(171)评论(0)赞 (0)

微服务架构下,解决数据库跨库查询的一些思路

发布于 2020-09-15

前言 在服务做微服务改造后,原先单库join查询已经不能满足要求,每个拆分的微服务对应一个数据库实例,而且部署在不同的服务器上,那么解决“跨库查询”就势在必行了。 以笔者实战经历来看,以下几个思路仅供参考: 表字段冗余 想必大家已经很熟悉,几乎每天都会打交道,不用多讲。 需要指出...

阅读(219)评论(0)赞 (0)

如何模拟超过 5 万用户的并发访问?

发布于 2020-09-14

本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情. 你可以在本文的结尾部分看到讨论的记录. 快速的步骤概要 编写你的脚本 使用JMeter进行本地测试 BlazeMeter沙箱测试 使用一个控制台和一个引擎设置Users-per-Engine的数量 设置并测...

阅读(150)评论(0)赞 (0)

深入理解 SpringBoot 启动机制(starter 机制)

发布于 2020-09-10

  一、前言 二、起步依赖 三、自动配置 1.基于java代码的bean配置 2.自动配置条件依赖 3.Bean参数的获取 3.Bean的发现 4.Bean 加载 四、总结 一、前言 使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方...

阅读(160)评论(0)赞 (0)

Spring Boot 构建多租户 SaaS 平台核心技术指南

发布于 2020-09-10

1. 概述 2. 尝试了解多租户的应用场景 3. 维护、识别和路由租户数据源 4. 项目构建 5. 实现租户数据源查询模块 6. 实现租户业务模块 7. 配置拦截器 8. 维护租户标识信息 9. 动态数据源切换 10. 应用测试 1. 概述 笔者从2014年开始接触SaaS(So...

阅读(177)评论(0)赞 (0)