摘要: 本文介绍基于Redis LUA脚本实现分布式锁的具体方案。为了便于在微服务架构的项目中使用,方案以注解切面的方式实现,可单独提炼项目打成jar包。 一、注解 核心注解有两个CacheLock和CacheParam。 @Target(ElementType.METHOD) @Retention(Ret 阅读全文
posted @ 2023-07-07 11:55 阳光、大地和诗歌 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 本文结合Spring源码5.1.7.RELEASE,详细分析Spring Bean生命周期,包括主要流程以及Spring一系列的扩展方法,最后通过测试实例演示主要步骤。 Spring提供的Bean扩展方法大致分为三类,一类是BeanPostProcessor接口,一类是BeanFactoryProc 阅读全文
posted @ 2023-06-05 16:11 阳光、大地和诗歌 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 在平常项目开发中,使用@Autowired注解进行字段注入很常用,本篇就通过Spring源码,重点分析这种方式实现依赖注入的过程。 本篇Spring源码版本为5.1.7.RELEASE。 在源码中,关键类是AbstractAutowireCapableBeanFactory,这个类继承Abstrac 阅读全文
posted @ 2023-05-04 09:54 阳光、大地和诗歌 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 首先,BeanFactory和ApplicationContext都是Spring IOC容器,至于它们的不同点,先结合官方文档进行说明,文档地址:https://docs.spring.io/spring-framework/docs/5.3.24/reference/html/core.html 阅读全文
posted @ 2023-04-03 09:59 阳光、大地和诗歌 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 容器技术的本质是通过Namespace、CGroups和rootfs构建的线程隔离环境,解决了用户在不同机器环境下都能无障碍启动应用的需求。也因此,在拥有了容器镜像之后,用户需要在自己的服务器集群上快速部署镜像,自动化处理各个容器之间的关系,以及更多的类似路由网关、应用水平扩展、监控、备份、灾难恢复 阅读全文
posted @ 2023-03-17 16:12 阳光、大地和诗歌 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 现如今,Docker容器大行其道,容器技术可以看做是沙盒,被装入沙盒的应用可以独立运行,不会互相干扰,也最方便四处搬移。 这个沙盒主要用三种技术隔离出来。 一、Linux namespace Namespace是基于Linux内核的底层概念,以一种抽象的方式封装内核资源,通过将内核资源放在不同的Na 阅读全文
posted @ 2023-02-28 15:23 阳光、大地和诗歌 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 一、需求分析 现有接口存在对用户信息进行拦截鉴权需求,在使用Feign包调用下游接口时,需要将当前请求头一直传递下去。 二、实现方案 在参考了网上的各种资料之后,通过自定义hystrix并发策略和Feign调用拦截器实现此需求 1、拦截器定义 拦截全部的Feign调用请求,从当前requestCon 阅读全文
posted @ 2023-02-23 14:29 阳光、大地和诗歌 阅读(372) 评论(0) 推荐(0) 编辑
摘要: nightngale,即夜莺,是由滴滴开源的监控系统,github地址为https://github.com/ccfos/nightingale。 nightngale有一套很方便的监控告警系统可供使用,本身也有多项监控指标分析视图。本篇以下内容主要介绍夜莺系统的搭建、指标收集和监控告警等内容。 一 阅读全文
posted @ 2023-02-23 11:36 阳光、大地和诗歌 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 技术本质为制作多个mongo上下文,利用切面,在不同注解切点时切换上下文,达到多数据源的效果,以下为具体实现方案 一、修改配置文件的mongo配置方式 mongo: datasource: dblist: - uri: mongodb://{user}:{pwd}@{ip}:{port}/{data 阅读全文
posted @ 2023-02-22 17:30 阳光、大地和诗歌 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 一、压缩包方式安装 1.下载nginx安装包,官网:http://nginx.org/en/download.html 2.上传压缩包至服务器,并解压 tar -zxvf 3.服务器如果没有openssl和pcre环境,需要安装 yum install -y openssl openssl-deve 阅读全文
posted @ 2023-02-22 16:54 阳光、大地和诗歌 阅读(383) 评论(0) 推荐(0) 编辑