您现在的位置:首页
--> 阿里巴巴中间件
限流系统是对资源调用的控制组件,主要涵盖授权、限流、降级、调用统计等功能模块。限流系统有两个基础概念:资源和策略,对特定的资源采取不同的控制策略,起到保障应用稳定性的作用。限流系统提供了多个默认切入点覆盖了大部分使用场景,保证对应用的低侵入性;同时也支持硬编码或者自定义aop的方式来支持特定的使用需求。限流系统提供了全面的运行状态监控,实时监控资源的调用情况(qps、rt、限流降级等信息)。
如何利用限流系统的特性,来统计热点呢?在这里,我们主要介绍一下,限流系统是如何来判断热点的,它的工作原理是什么,它的性能如何;它目前已经在哪些场景里面使用。
• 弹性伸缩部署
本文旨在通过介绍弹性伸缩技术以及弹性伸缩系统这款中间件产品,让开发同学了解到运维自动化给我们带来的便捷与保障。
从业务生命周期而言,正处上升期的应用,访问量可能每月甚至每周成指数倍数地增长,当你在为业务快速发展、脱颖而出而畅想自high:哥写得一手牛逼代码即将要支撑起阿里未来五年的腾飞了!!啪,程序运行FGC,啪,调用方超时,啪,触发限流~也许这已经是最近第N次的报警,也许这是最近第N次调用方打电话过来投诉,也许这是最近第N次的扩容……还能不能好好玩耍,专心把代码撸到极致?!业务下降期的应用或许已经不再投入开发,你是否曾想过线上其实早已不需要那么多的机器资源了,如果折算成RMB,这每天到底是有多少张毛爷爷从口袋白白飞走?不能再任性了,快让应用弹起来,让有限的计算资源服务到优质的业务上吧!
在大型分布式 java 应用中,为了方便开发者,通常底层的 rpc 框架都会做一些调用的封装,让应用层开发人员在开发服务的时候只用编写简单的 pojo 对象就可以了,如流行的 spring remoting , jboss remoting 等等,都有这样的效果。
计算机是由硬件和软件组成的, 而所有软件的唯一目标就是尽可能最大化的利用下层硬件能够提供的特性,完成上层的功能。 所以才会有人说,硬件是骨头,软件是血肉,骨头决定生物的形态,软件决定生物的神态。不过,依然请放心,我们不会讨论复杂的东西, 作为一个软件工程师,也没有人会要求我们去写一个磁盘存储器的硬件驱动代码~在这里,我们只讨论那些为了后面我们理解软件存储而锁需要掌握的硬件知识。
要介绍 RAID技术的原因,其实是因为目前大部分分布式存储在做的事情其实 RAID在很多年前就已经做到了,所以如果你希望做存储相关的事情,那么 RAID是必须要理解,但不一定要用到的概念:)
可以预见,在未来,对于追求iops的数据读写类应用来说,将用户经常访问的热点数据全部从传统磁盘搬到ssd上面应该是个趋势。自此,磁盘将是新的磁带,闪存是新的磁盘,内存为王。
一般来说,如果你希望数据能够被快速的找到,那么最主要的两种技术手段就是二分查找,或者使用Hash函数。今天来介绍一个最简单的数据结构,有序数组来组织的二分查找,当然,我的主要目标是介绍前人解决问题的思路,而非算法本身,所以不会尝试用比较难理解的公式和伪码来描述问题。
计算机就是个分型的系统,而映射这种数据结构,是计算机中非常基础和常见的一种数据结构, 从cpu到文件存储,再到分布式文件存储,其核心都是映射。
自从NoSQL概念横空出世,关系数据库似乎就成了众矢之的,似乎一夜之间,关系数据库和SQL就成了低效,高成本,速度慢的数据处理模式的代名词。 在很多地方都能看到类似:”我的项目初创,应该选择什么NoSQL产品才能快速的开发?” 这样的问题。
• Solr之缓存篇
Solr在Lucene之上开发了很多Cache功能,从目前提供的Cache类型有: (1)filterCache (2)documentCache (3)fieldvalueCache (4)queryresultCache 而每种Cache针对具体的查询请求进行对应的Cache。本文将从几个方面来阐述上述几种Cache在Solr的运用。
一谈到二叉树,相信很多人一定会有一个疑问: 这玩意儿有什么用? (当然这么多人里面肯定包括大学时候的我- -)
其实,我个人觉得这并不怪我们,是教科书写的有点问题,开始的时候没有给到大家明确的学习意义,开始就去讲如何遍历,如何从树变森林,如何做树的前序中序后序遍历。但这样的学习会让整个过程很无聊,太容易让人放弃了。所以在今天,请允许我用另外的方式来重新讲解一下吧~
本文将继续介绍基于Solr的地理位置搜索的第二种实现方案: CartesianTiers+GeoHash。从上文可以看到完全基于GeoHash的查询过滤,将完全遍历整个docment文档,从效率上来看并不太合适,所以结合笛卡尔层后,能有效缩减少过滤范围,从性能上能很大程度的提高。
本文将继续围绕Solr+Lucene使用Cartesian Tiers 笛卡尔层和GeoHash的构建索引和查询的细节进行介绍。
在Solr中其实支持很多默认距离函数,但是基于坐标构建索引和查询的主要会基于2种方案:
(1)GeoHash;
(2)Cartesian Tiers+GeoHash;
而这块的源码实现都在lucene-spatial.jar中可以找到。接下来我将根据这2种方案展开关于构建索引和查询细节进行阐述,都是代码分析,感兴趣的看官可以继续往下看。
在Solr中基于空间地址查询主要围绕2个概念实现: Cartesian 、Tiers 、笛卡尔层。 Cartesian Tiers是通过将一个平面地图的根据设定的层次数,将每层的分解成若干个网格。
要介绍 RAID技术的原因,其实是因为目前大部分分布式存储在做的事情其实 RAID在很多年前就已经做到了,所以如果你希望做存储相关的事情,那么 RAID是必须要理解,但不一定要用到的概念:)
计算机是由硬件和软件组成的, 而所有软件的唯一目标就是尽可能最大化的利用下层硬件能够提供的特性,完成上层的功能。 所以才会有人说,硬件是骨头,软件是血肉,骨头决定生物的形态,软件决定生物的神态。不过,依然请放心,我们不会讨论复杂的东西, 作为一个软件工程师,也没有人会要求我们去写一个磁盘存储器的硬件驱动代码~在这里,我们只讨论那些为了后面我们理解软件存储而锁需要掌握的硬件知识。
介绍淘宝中间件团队开源的各类软件,走过路过不可错过,你懂的!
• 说说会话串号
为了解决串号做过的一些事情:
cookie里增加一个值,用来记录通过关键cookie生产的签名,这个签名是算法非常简单。每次请求到服务端的时候session框架代码里会对此签名进行匹配,如果和服务端获取的数据签名出来的值是一致的,则认为合法,否则清空session信息和cookie信息,让用户重新登录。
这里记录的是Dubbo注册中心的发布过程中的自动化改进点。实践是通用的,希望可以能给你一些借鉴和启发。 Dubbo注册中心记录整个网站服务信息,服务消费者(Consumer)通过注册中心获得服务提供者(Provider)列表,才能完成服务调用。注册中心是网站服务的一个关键组件。
简单介绍下 在较早版本的 Lucene 中对一定范围内的查询RanageQuery 。该Query 继承于 MulitTermQuery,在重写(rewrite )Query 树的时候将会遵从一个原则: 根据起始区间值获取term, 然后遍历,根据满足条件的term 的数目来决定重写Query 的类型。
近3天十大热文
- [67] Go Reflect 性能
- [67] Oracle MTS模式下 进程地址与会话信
- [67] 如何拿下简短的域名
- [61] IOS安全–浅谈关于IOS加固的几种方法
- [60] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [47] 界面设计速成
赞助商广告