Spring源码解读『基本概念』
Spring作为一个优秀的开源框架,作为一名服务端开发人员,在工作中必然是每天都要接触的,相信每个人也都能熟练地使用Spring来完成日常工作。毫不夸张的讲,Spring很大程度上改变了Java开发的方式。但是在工作中,我发现很多数人对Sp...
Spring作为一个优秀的开源框架,作为一名服务端开发人员,在工作中必然是每天都要接触的,相信每个人也都能熟练地使用Spring来完成日常工作。毫不夸张的讲,Spring很大程度上改变了Java开发的方式。但是在工作中,我发现很多数人对Sp...
上篇简单讲述了一下本地服务令牌桶限流实现,只能用于本地服务,在分布式环境下,就不太适用了。比如我们想对接口做限流控制,如果使用令牌桶实现,每秒最大的服务数目是10,假如分布式服务有10台实例,考虑到负载均衡配置,那么整个分布式系统的服务能力...
前几天一直有个老哥在刷我们的后台接口,其实我们风控是有反扒的,但是貌似那几天反扒失效了==,原因这里就不讲了。当我们发现异常时,单机qps峰值达到了2000多,导致阻塞了很多我们正常的前端请求。我们侦测到之后,在反扒重新启用之前,对服务进行...
之前文章介绍过一种单点部署服务防重复提交的一种方式,但是实际开发中,单点服务是很少见得,之前的那种防重复提交的方案在分布式环境下也就嗝屁了。本文实现一种分布式服务防重复提交的方案,跟之前那篇文章的思想是一致的,也就是是一线一个锁,在方法请求...
考虑这样一种情况,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,用户极有可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单。我们在开发中必须防止表单重复提交,否则很有可能会生成非法数据。本文介绍一种非分布式服务...
在应用开发中,经常都有用到在后台跑定时任务的需求。比如需要在服务后台跑一个定时任务来进行数据清理、数据定时增量同步、定时发送邮件、爬虫定时抓取等等,这种情况下,我们往往需要执行定时任务。在java中定时任务有多种实现方式,比如使用线程、使用...
Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成为Apache的主要项目之一。Kafka使用Scala和Java进行编写。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订...
缓存作为开发中提高服务性能相对有效的一种方式,在实际开发中得到广泛使用。在Spring 3.1之前,如果想使用缓存,相对是比较麻烦的,往往在业务代码中要掺杂缓存的逻辑,比如判断缓存是否存在,存在则取缓存,不存在在从DB中读取,然后再讲数据存...
Dubbo服务使用Zookeeper作为服务注册中心,Zookeeper对我们来讲是一个黑框,我们无法看到是否存在了什么提供者或消费者。阿里巴巴官方提供了一个Dubbo服务的管理平台Dubbo Admin,提供路由规则、动态配置、服务降级、...
Dubbo服务发布之后,除了编写Dubbo Consumer服务调用去测试,我们也可以利用telnet命令进行调试、管理。Dubbo 2.0.5以上版本服务提供端口支持telnet命令。本篇文章介绍一下如何使用telnet命令对Dubbo服...