
原创
文章平均质量分 75
Aaron----
这个作者很懒,什么都没留下…
展开
-
分布式之缓存击穿
什么是缓存击穿在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询,这样缓存就失去了意义。如果在大流量下数据库可能挂掉。这就是缓存击穿。场景如下图所示:我们正常人在登录首页的时候,都是根据userID来命中数据,然而黑客的目的是破坏你的系统,黑客可以随机生成一堆userID,然后将这些请求怼到你的...转载 2018-05-02 09:06:26 · 198 阅读 · 0 评论 -
哈希算法之 hashCode 为什么选择数字31作为优质乘子?
哈希算法之 hashCode 为什么选择数字31作为优质乘子?详细说明 String hashCode 方法选择数字31的作为乘子的原因之前,我们先来看看 String hashCode 方法实现:public int hashCode() {int h = hash;if (h == 0 && value.length > 0) { char val[]...原创 2018-11-19 16:12:15 · 5435 阅读 · 6 评论 -
谷歌大数据搜索工具——datasetsearch
谷歌最近推出了一个搜索引擎,准确来说是一款专门为数据分析、数据科学领域的人提供的数据搜索引擎。图片有图片的搜索引擎,视频有视频的搜索引擎,终于我们等来了数据的搜索引擎。总之以后你想要什么样的数据,就可以直接在这个网站里搜索关键词,都能找到相关的数据。这些数据包含是谁提供了这个数据集合,数据的发布时间,数据收集方式,使用数据的条款等,可谓是应有尽有。如图: 这个搜索工具我认为不光是...原创 2018-09-11 17:36:22 · 12171 阅读 · 0 评论 -
微服务架构之阿里巴巴开源限流降级中间件Sentinel
Sentinel简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。说的简单一点,Sentinel是一个对资源调用的控制组件,主要涵盖限流、降级、负载保护等功能模块。Sentinel于2012年诞生,第一个版本的主要功能为入口流量控制。在之后的6年里,Sentinel 在阿里巴巴...原创 2018-08-15 10:41:52 · 5035 阅读 · 0 评论 -
微服务架构设计要点
要点一:API 网关 在实施微服务的过程中,不免要面临服务的聚合与拆分,当后端服务的拆分相对比较频繁的时候,往往需要一个统一的入口,将不同的请求路由到不同的服务,这就不得不提到API网关,API网关优势简单的数据聚合可以在网关层完成,避免后台复杂调用进行统一的认证和鉴权,尽管服务之间的相互调用比较复杂,接口也会比较多,API 网关往往只暴露必须的对外接口,并且对接口进行统...原创 2018-08-02 17:30:07 · 471 阅读 · 0 评论 -
微服务架构之千万级调用量架构实践
随着微服务的兴起,微服务的应用越来越广,要求也越来越高,当然系统复杂度也是逐渐递增 微服务架构在大型电商中的运用1、传统电商业务困境高可用性高可伸缩架构柔性数据实时平台开放如图: 2、传统大型电商系统的架构数据层,埋点数据把用户行为数据,实时数据存储在NoSQL、关系型数据库、大数据平台 。 基础架构层 这层实际上是中间件和服务,包括MQ的消息...原创 2018-08-07 09:28:39 · 1098 阅读 · 0 评论 -
分布式架构之CAP定理
分布式(distributed system)正越来越成为互联网发展的重头戏,大型网站几乎都是分布式的。然而分布式系统的最大难点就是各个节点的状态如何同步。解决此问题,理解CAP 定理是理解分布式系统的基础。 分布式系统的三个指标1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。ConsistencyAvailabilityPartit...原创 2018-08-05 17:48:40 · 416 阅读 · 0 评论 -
算法精选--广度优先搜索
一、引言研究算法是很枯燥的一件事;但是找到规律以及通用之处,就会发现它是如此简单,如此妙不可言,但前提是需要有耐心。其中深度优先搜索和广度优先搜索是搜索算法里面比较基础的算法,理解以及实现也比较容易 结合实际问题详解Q:在一个二维地图中,从一个点到另一个点的最短路径(从1到0,输入终点位置,输出最少步数) ,如图: 解决方案深度优先搜索 看到深度优...原创 2018-07-30 14:42:56 · 254 阅读 · 0 评论 -
微服务架构—服务增强组件Nepxion Discovery
Nepxion Discovery是一款对Spring Cloud的服务注册发现的增强中间件,其功能包括多版本灰度发布,黑/白名单的IP地址过滤,限制注册等,支持Eureka、Consul和Zookeeper,Spring Cloud微服务可以方便引入该插件,并且代码零侵入,引入注意事项如下:引入相关Plugin Starter依赖到pom.xml必须为微服务定义一个版本号(version...原创 2018-07-28 18:53:04 · 6708 阅读 · 0 评论 -
微服务架构——分布式锁探索
本问主要针对zookpeer、redis实现分布式锁进行探讨,文中有什么不严谨之处,欢迎批评指正。redis方面:有开源redisson的jar包供你使用。zookpeer方面:有开源的curator的jar包供你使用 需要说明的是,Google有一个名为Chubby的粗粒度分布锁的服务,然而,Google Chubby并不是开源的,我们只能通过其论文和其他相关的文档中了解具体的细...原创 2018-07-16 13:02:35 · 2114 阅读 · 6 评论 -
微服务架构下数据库分表算法
数据库水平分表算法实现介绍如下:一:实现思想 以MurmurHash算法为基础,在MurmurHash算法进行必要改造,本次主要进行64分表,即分为64个主表,实现思想简介如下: 1、MurmurHash生成hashcode ---详细可看代码 2、hashcode取模64生成分表下表,---详细可看代码 3、分表的下表拼接 ...原创 2018-05-03 13:17:36 · 1409 阅读 · 0 评论 -
http之短链接原理分析
1. 什么是短链接顾名思义,短链接即是长度较短的网址。通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。并通过跳转的方式,将用户请求由短链接重定向到长链接上去。短链接主要用在诸如微博,BBS等对帖子字数有限制的网站,通过使用短链接,用户可以把注意力放在帖子的内容上,而不是在担心链接超长的问题。这里以百度的 dwz.cn 短链接服务为例,我们使用百度搜索"hello world",链接为h...原创 2018-12-05 13:52:43 · 1635 阅读 · 0 评论