中间件技术及双十一实践·服务框架篇

分布式服务框架——分布式服务的组织者

综述

06/07年以后,随着淘宝用户数量和网站流量的增长,应用系统的数量和复杂程度也急剧增加。诸多前台系统都需要使用一些公共的业务逻辑,这些业务逻辑通常具有共性的东西,比如,获取用户信息或查询宝贝详情等。如果将这些业务逻辑在各个系统内部都实现一遍,则大大增加了开发成本和后期维护成本。于是,像服务框架这类的中间件产品就应运而生。服务框架帮助各个系统将那些相似的业务逻辑抽离出来,单独部署,而前台系统在需要调用这些业务逻辑时,只需要通过服务框架远程调用即可,大大节约了前端系统的开发成本,也提高了系统的可维护性和可扩展性。

2.1、HSF简介

HSF是淘宝的分布式服务框架。服务框架从分布式应用层面以及统一的发布/调用方式层面为业务系统提供支持,从而可以让他们很容易地开发分布式应用并提供和使用公用功能模块,而不用考虑分布式领域中的各种细节技术,例如远程通讯、性能损耗、调用的透明化、同步/异步调用方式的实现等等问题。

服务框架的实现有三种角色:服务提供者、服务消费者和注册中心。服务提供者在服务可用的前提下,将地址注册到注册中心。服务消费者启动时,会订阅注册中心的相关服务,获取服务地址,通过一定的负载均衡策略调用服务。由于注册中心这个软负载集群的存在,服务提供者和服务消费者可以任意扩容和下线,注册中心可以实时将提供者地址的变更推送给消费者。

服务治理

服务治理是服务框架的核心功能。所谓服务治理,是指服务的提供方和消费方达成一致的约定,保证服务的高质量。服务治理功能,可以解决将某些特定流量引入某一批机器,以及限制某些非法消费者的恶意访问,和在提供者处理量达到一定程度时,拒绝接受新的请求等功能。

2.2、HSF双11准备与优化

在双11中,HSF主要通过精简日志输出、流量限制、解决应用依赖冲突等措施,保证了服务的稳定可靠。

  • 精简日志输出

消费者在调用过程中,容易因为网络问题或服务提供方等原因引起调用失败。如果没有足够的日志,有时候排查问题会很困难。因此,服务框架在生产环境使用时,往往将日志级别设置比较低或打印较多日志,记录下足够多的信息。这在平时没有问题,而且在遇到问题时也有足够的信息来排查问题。但是日志打印本身耗费性能,在双11这种高峰调用期间,尽量要减少日志的输出。为了达到灵活控制日志输出的目标,服务框架优化了日志打印,精简了日志输出。

  • 流量限制

虽然很多应用设置了流量限制等规则,但平时的流量远远低于阈值,只有在双11这种流量高峰,才会起到效果。在双11之前,我们检查了线上所有的限流规则,发现有不少配置错误或者配置不合理的情况,其中有些是由于HSF对于一些默认参数设置不合理造成的。通过性能测试,将不合理的规则和参数进行改正。

  • 解决应用依赖冲突

由于淘宝业务发展迅速,前端应用需要依赖越来越多的其他系统,这很容易造成应用依赖的冲突。服务框架引入了Pandora容器,对应用进行了依赖的隔离,防止应用和服务框架的依赖相互冲突。

小结

HSF已经经受了淘宝各种复杂、高并发的调用场景。今年来,HSF在易用性、服务治理和性能上有了很大的改进,是很稳定的分布式服务框架。作为淘宝中间件团队最早诞生的中间件框架之一,HSF将在未来继续发挥其巨大的作用。

时间: 2024-11-03 22:00:52

中间件技术及双十一实践·服务框架篇的相关文章

中间件技术及双十一实践·软负载篇

软负载--分布式系统的引路人 综述 软负载是分布式系统中极为普遍的技术之一.在分布式环境中,为了保证高可用性,通常同一个应用或同一个服务的提供方都会部署多份,以达到对等服务.而软负载就像一个引路人,帮助服务的消费者在这些对等的服务中合理地选择一个来执行相关的业务逻辑. 1.1.ConfigServer ConfigServer主要提供非持久配置的发布和订阅.07/08年间在淘宝内部开发使用的时候,由于ZooKeeper还没有开源,不然可能会基于ZooKeeper来进行改造.主要使用场景是为分布式

中间件技术及双十一实践·稳定性平台篇

稳定性平台--系统稳定运行的保障者 综述 大多数互联网公司都会根据业务对自身系统做一些拆分,大变小,1变n,系统的复杂度也n倍上升.当面对几十甚至几百个应用的时候,再熟悉系统的架构师也显得无能为力.稳定性平台从2011年就开始了依赖治理方面的探索,目前实现了应用级别和接口级别的依赖自动化治理.在2013的双11稳定性准备中,为共享交易链路的依赖验证和天猫破坏性测试都提供了支持,大幅度减小了依赖治理的成本和时间.另一方面,线上容量规划的一面是稳定性,另一面是成本.在稳定性和成本上找到一个最佳的交汇

鹰眼跟踪、EDAS燎原, 看高性能服务框架EDAS的架构实践

本文主要从高速增长的阿里业务开始谈起,讲述当年面对的业务场景和背景,碰到了什么样的技术挑战,且用什么样的思路去解决它,最后和大家分享了解决后产生的产品Aliware中非常重要的EDAS. 直播视频:点此进入 PDF下载:点此进入 以下是演讲内容整理:   高速业务增长带来的挑战 大型电子商务平台吸引了大量卖家和买家,图为2014年IPO时候截得的图,可以看到在阿里上有10亿多件商品等,现在仍然以非常高的速度在增长. 图为2003年到2010年淘宝网注册用户数,用户数从非常低的值逐渐涨到近4000

Aliware-MQ消息队列技术架构与最佳实践

在阿里云生态日,阿里巴巴中间件产品专家不铭分享了<Aliware-MQ消息队列>.他从功能特性.技术架构.最佳实践.案例分析四个方面进行了分享.在分享中,他主要介绍了Aliware-MQ的线性扩展技术.存储模型.负载均衡.数据流.刷盘策略.高可靠/高可用方案进行了介绍,并通过案例进行了具体实践分享.   以下内容根据直播视频整理而成.   功能特性 Aliware-MQ是什么?它是企业级互联网架构的核心产品,基于高可用分布式集群技术,支持海量高并发,支持万亿级消息流转(双十一的万亿数据),支持

大数据时代结构化存储云HBase技术架构及最佳实践

在10年,阿里研究HBase,是为了解决阿里容量及并发的实际问题,按照数据库要求,阿里深入HBase技术,并致力于保障稳定性和性能,目前已经有10000台规模,数百个集群,大约1亿的QPS,服务整个集团的业务.17年,把这部分能力也开放给公有云客户.本文中,阿里云高级专家封神带来了主题演讲<大数据时代结构化存储云HBase技术架构及最佳实践>,介绍HBase的应用选择.实战案例.技术平台解读以及后续的规划. 为什么应用HBase 一般而言,传统关系型数据库面临着成本.容量.QPS.分析等多方面

基于中间件技术的多层分布式系统的研究

1 引言 分布式系统的信息处理分布在许多计算机上而不是局限在单一机器上.目前一般类型的分布式系统体系结构可以分为两种.一种是客户机 / 服务器( C/S )体系结构,它由客户端提供用户界面.运行逻辑处理应用,而服务器接受客户端 SQL 语句并对数据库进行查询,然后返回查询结果.C/S 结构曾给人们带来许多便利,但随着业务处理对系统提出更高要求以后,它也逐渐暴露出其客户端逐渐庞大和服务器负担过重的缺点,如灵活可扩展的工作流定制.保证数据在网络传输的稳定性和准确性.应付峰值数据的高负荷处理和平衡负载

分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?

Dubbo启动维护后,阿里中间件(Aliware)组建了由专职人员和RPC技术专家组成的虚拟维护团队.通过这篇文章,Dubbo的虚拟维护团队将和大家分享一些Dubbo启动维护的历程.取得的成绩以及后续的规划,具体包括Dubbo社区的建设情况.当前的版本维护主线.近期roadmap及后续计划等. Dubbo是阿里巴巴于2012年开源的分布式服务治理框架,目前已是国内影响力最大.使用最广泛的开源服务框架之一,在Github上的fork.start数均已破万. 在过去几年,Dubbo开源社区虽然一直有

Weex动态化方案与双十一实践

在2017年1月12日 Weex Conf 2017上,来自手机淘宝移动平台Weex团队的凝砺结合淘宝实际业务分享了Weex动态化方案和双十一实践,本文先介绍了Weex的整体架构,接着重点分享了Weex在双十一会场上的实践,最后谈及了Weex的业务支撑,包括AliWeex等. 以下为精彩内容整理:   初始Weex Weex是一套高性能跨平台移动开发框架,最大的优势是解决了频繁发版和和多端研发两大移动开发痛点.一套代码完美适配IOS.Android.HTML5和Web等多端,极大的提升开发效率同

2013年预测:云计算和轻量化开发将推动中间件技术的发展

在新的一年中,最容易预测,也是最明显的事情无疑就是,云.轻量化和移动技术将在http://www.aliyun.com/zixun/aggregation/13597.html">企业IT中扮演越来越重要的角色.有一种观点认为,除了继续向前,今天的各类机构对其它的大规模项目都不感兴趣.这也再次为我们最初的预测提供了佐证.但是,这些活动中降低成本的机会并不是最主要的动力.时间才是真正的决定因素!如果您希望创新,您就必须选择一项合理且可实现的项目,不仅是能够实现的,而且是能够迅速实现的.我预计