研发架构
文章平均质量分 93
研发架构
清思越
老骥伏枥,志在千里
展开
-
延迟对列公共服务的设计
适用场景:延时任务有别于定时任务,定时任务往往是固定周期的,有明确的触发时间。而延时任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。也就是说,任务事件生成时并不想让消费者立即拿到,而是延迟一定时间后才接收到该事件进行消费。定时任务首选Medusa CronJob, 有DAG需求或者大数据任务的选Airflow在订单系统中,一个用户某个时刻下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将自动进行过期处理; 车..原创 2022-04-14 19:44:24 · 2145 阅读 · 0 评论 -
为什么选用Zookeeper? 观察者-选举图文梳理
从毕业到现在,已经进入工作岗位多半年了,在这半年中我一直在想通过公司的实际业务场景使用分布式的一些组件,然后带着一些使用的疑问去打通原理与实际业务场景。一个系统不可能是单纯的一个服务,而是多个服务相互依赖,只要存在依赖关系就难免会出现远程过程调用RPC,在远程过程调用的过程中最为重要的 “分布式协调/通知”,配合dubbo组件或者其他RPC方案完成调用,所以使用到zookeeper。与实际业务打通的业务点有哪些?实际业务场景是如何实现的?动态上下线分布式锁...原创 2021-12-19 18:26:37 · 342 阅读 · 0 评论 -
我应该如何优化接口呢?(CompletableFuture)
背景:前些天在业务不怎么繁忙的时候,我主动用kibana、grafana 创建了一份属于我负责服务的接口性能图,通过性能图就能轻松看出每个接口的响应时间。那么问题来了:我应该如何优化慢查询呢? 我应该通过什么工具来看出我需要优化哪些点呢? 我应该如何实现优化呢?用到的技术点有哪些呢?grafana 可视化表:kibana 可视化表:可以依据自己想看的报表建立相关的可视化,然后通过可视化来排查哪些接口存在性能问题、又有哪些接口存在错误问题等。当找到待优化的接口之后,紧接着就是要明确应..原创 2021-11-14 13:07:55 · 1055 阅读 · 2 评论 -
Druid 详细搭建案例
Druid配置1.什么是druid? Druid是一个数据库连接池。Druid是目前用户的比较多的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池.同时Druid提供的监控功能,监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息,可以清楚知道连接池和SQL的工作情况,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有...原创 2020-03-25 19:51:52 · 626 阅读 · 0 评论 -
代码是如何生成的?
说明:本文将会同一个代码生成的实际案例出发来讲解为什么需要代码生成器?这个根据可以帮助我们生成什么东西?以及它的工作原理是什么等问题。其中主要讲解的部分是代码生成器的原理,因为只有理解了原理,我们才可以随心所欲的去编写自己想要的模板,从而为项目开发节省大量时间。问题1:现在有很多代码生成工具,为什么我们还要自己去实现一个呢?...原创 2020-02-20 10:20:56 · 5614 阅读 · 0 评论 -
Spring Boot日志框架原理及使用
说明:在上一篇文章中讲了《spring Boot的配置文件是如何加载的》通过学习使得我们对spring boot中的配置文件的类型、加载顺序,以及yml的语法等都有了一定理解。相信大家在开发的时候经常使用System.out.println();来打印查询中出现的一些系统日志信息,其中有系统的正常运行信息,也有错误信息。简单的概括就是鱼龙混杂,因此本片为了解决这个问题主要介绍日志框架的使用.问...原创 2020-02-11 21:20:39 · 556 阅读 · 0 评论 -
spring Boot的配置文件是如何加载的
说明:经过上文《Spring Boot是如何跑起来的》的分析,相信大家已经对Spring Boot的启动有了一定的了解。我们也知道Spring boot会在底层给我们自动配置默认值.这个时候如果我们需要修改某些配置(端口号,数据库连接信息等)应该怎么办?有什么好一点的方式去实现吗?下文将会为你解决这些疑问。问题1:spring boot中的全局配置文件有些什么?答:SpringBoot使用...原创 2020-02-10 12:00:42 · 767 阅读 · 0 评论 -
Spring Boot是如何跑起来的
说明:在上文用spring boot搭建了个hello word程序,当案例成功运行起来的时候我很好奇,我没有导入Spring相关的依赖,也没有配置Tomcat,那么hello word是如何跑起来的呢?我相信有很多初学者和我一样的迷茫,下面我以初学者的角度说明部分运行原理,可能不是太深奥哦!首先我来回答一下上诉说明中的疑问,其实Spring Boot已经帮我们引入的web项目所需要的所有相关...原创 2020-02-08 10:47:13 · 942 阅读 · 0 评论 -
spring boot 入门 Hello World
本次案例环境说明:jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112"maven3.x:maven 3.3以上版本;Apache Maven 3.3.9IntelliJIDEA2018:IntelliJ IDEA 2018.2.2 x64、STSSpringBoot 1.5.9.RELEASE:1.5.9;第一步 创建s...原创 2020-02-05 18:56:46 · 414 阅读 · 0 评论