摘要:
装饰,在某物件基础上加以修饰,装点,使得原本的朴素变得华丽,达到化腐朽为神奇的效果。比如我们从开发商买来的毛坯房,必然要进行室内装潢这么一项工程,什么简约风啊,北欧风啊,地中海,美式中式等等,当然萝卜青菜各有所爱,每个人装出的房子都各有差异,但不管何种风格,这都是对原本毛坯房的装饰,留给业主按照自己 阅读全文
摘要:
在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。在这样的场景 阅读全文
摘要:
不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。 这篇文章会先介绍RabbitMQ和Apache Kafka内部实现的相关概念。紧接着会主要介绍这两种技术的主要不同点以及他们各自的优缺点,最后我们会说明一下怎样选择这两种技术。 一、异步消息模式 异步消息可以 阅读全文
摘要:
为什么需要学习Spring Cloud 不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带来如下的几个问题: 代码结构混乱:业务复杂,导致代码量很大,管理会越来越困难。同时 阅读全文
摘要:
一、背景 二、幂等性概念 三、技术方案 总结 一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只 阅读全文
摘要:
1、in和exists 2、not in 和not exists 3、in 与 = 的区别 其他分析: 1、in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。 如果查询的 阅读全文
摘要:
需求描述 需求分析 伪代码逻辑 代码实现 需求描述 通常我们最登录的时候,为了防止多次尝试或攻击登录接口,我们需要弄一个验证码的功能,只有输入验证码正确的情况下,我们才会去做密码校验,这样就减少了密码可能会被试出来的可能。 需求分析 这个功能设计要点有两个: 第一点、验证码图片的生成 验证码图片的生 阅读全文
摘要:
安装单机版VisualSVN时,默认使用的端口是443或者8443,而在实际使用中,有时需要映射到外网,恰巧外网中其他应用占用了这两个端口,那么怎么办呢?本文将给出一种修改VisualSVN默认端口的方法。 1、启动VisualSVN Server,如下:选择“VisualSVN Server(Lo 阅读全文
摘要:
一、前言 限流是分布式系统设计中经常提到的概念,在某些要求不严格的场景下,使用Guava RateLimiter就可以满足。但是Guava RateLimiter只能应用于单进程,多进程间协同控制便无能为力。本文介绍一种简单的处理方式,用于分布式环境下接口调用频次管控。 如何防止恶意IP攻击某些暴露 阅读全文
摘要:
1.设置代理ip 1 HttpHost proxy = new HttpHost("112.36.34.134",80);//设置代理ip 2 3 RequestConfig config = RequestConfig.custom() 4 .setProxy(proxy) 5 2.延长访问时间 阅读全文