美文网首页
技术管理篇5一技术演变史(12)

技术管理篇5一技术演变史(12)

作者: 靳顺隆 | 来源:发表于2018-04-24 14:35 被阅读23次

    上一篇我们聊了前端的发展历程。今天,我们继续聊一下后端技术的变化。

    互联网和移动互联网彻底改变了人们的生活,同时系统的并发量也越来越高。要给用户提供一个完美的体验,就需要解决整个服务的高性能、高并发、数据一致和可扩展等等问题。

    分工协作

    怎么来解决这些问题呢,我们可以打个比方。这就好比一个团队做事情,一个人的精力总是有限的,只靠一个人是不行的。这就需要发挥团队的力量。什么是团队的力量,就是要高效的分工和协作。把后端集群比作一个团队,就是要想办法让服务节点更好的分工和协作。

    先来说一下分工,对后端服务来说,主要有计算和存储两大职责。职责首先要清晰和独立。

    计算集群

    对计算的集群来说,怎么来分工。要先根据所要承载的业务来看,可以根据优先级和业务量来划分。如果业务调用量大或者比较重要的,就可以单独分工一个独立集群去处理。这叫专事专办。这样可以保障高优先的事情能得到充足的资源,也不会被不重要的事情影响。

    职责相同的一个集群内怎么来分工,最简单的方式就是轮流来做。轮流之前还得先解决一个信息共享的问题。以销售为例打个比方,如果这个客户的信息掌握在一个客户经理手里,其他人都不知道,那再多人也帮不上忙。在计算机世界里就是无状态的概念。要把每次请求的状态信息放到其他存储集群中,让每个计算集群的节点都灵活的信息共享。

    龙生九子,各个不同。集群节点的计算资源和当前状态也是不同的,完全平均分配也不合理。比如有的服务器CPU和内存配置更好一些,那就应该承担更大的责任。再比如集群在运行的过程中,有可能某个机器发生了故障,就不应该再继续提供服务。所以更有效的分配方式是根据节点的资源能力以及当前的运行状态,实时监控,动态的分配工作。

    再大的集群也有能力的上线,我们应该尽可能的让关键业务健康运行。如果访问量真的超过了集群的能力,我们也应该有能力合理调配资源,抽调人力,集中力量办大事。不重要的服务可以先放弃掉。如果实在不行,我们还可以让用户友好的等待。类比海底捞,我们可以让客人在餐厅外边排队,边吃边等。

    当业务访问量下降以后,我们也可以根据情况收缩服务节点,不做无畏的浪费。

    再来看一下计算集群的协作问题。每个工作都不可能单打独斗来解决,这就需要节点之间的协作。首先,各个节点得需要知道各自的职责,有问题应该找谁。类比我们获取信息的方式,最开始是通过黄页或者分类信息网站,再后来通过搜索引擎。我们也应该有一个集群的信息注册中心,用来记录每个节点都提供什么服务。当我们需要调用这个服务的时候,先通过注册中心找到依赖的节点,然后再去调用。当某个节点出了问题,注册中心也应该能第一时间知道,并灵活的调配到其他节点。

    当协作的链条过长的时候,我们往往看不清楚影响某个工作的关键节点。这时候,我们需要把完成这个工作的各个协作点串起来看。这就是服务的链路跟踪。通过观察整个链路的情况,我们可以分析出哪些是影响整个工作的关键节点,然后再去着重优化。

    总结一下,后端集群的分工协作,可以帮助我们快速满足用户不断变化的需求。对集群的实时监控,根据监控情况的实时分工协作,可以大幅提升整个集群的服务效率和质量。其实这就是SOA治理的理念。明天,我们继续聊一下集群的存储职责。

    相关文章

      网友评论

          本文标题:技术管理篇5一技术演变史(12)

          本文链接:https://www.haomeiwen.com/subject/jzvvkftx.html