写点什么

把越来越多的服务治理好才是当务之急,服务微不微可以慢慢来

  • 2020-04-17
  • 本文字数:1912 字

    阅读完需:约 6 分钟

把越来越多的服务治理好才是当务之急,服务微不微可以慢慢来

最近在和别人的谈话中被问及 “最近忙吗?” 机械化的回答是 “还行吧。”


其实这句话根本就没有经过大脑思考,直接条件反射的出去了。。今天中午吃完饭,又兴冲冲的拿着 IPad 跑去千里之外的星巴克坐着,排队时无意中也听到了一对年轻人如出一辙的对话,我也条件反射的笑出声了


这一笑,联想到了最近所谓“还行吧”的事件上,其实所谓忙,我觉得应该分为 “忙事情” 和 “忙脑子”,也就是做完一个被安排的任务,与发起一个任务让别人去完成。这 2 年我应该都属于后者,所以每天都靠 ‘大运动量+咖啡因’ 撑着,并让自己保持活力与干劲

‘污染’,其实从未停息

作为一家传统金融业务起家的公司,由始至终都选择自研系统,这本身就透漏着一种技术情怀。


不过情怀归情怀,问题还是有不少,咱们先来谈谈这几年随着好买的业务突飞猛进之后,服务(或叫业务系统)建设与管理中所暴露的痛点:


  • 业务条线 - 多:(据不可靠统计)3 个事业群,20+个子系统,150+个应用服务,500+个服务接口

  • 注册中心 - 散:10+个 Zookeeper 集群,做个组合要链一堆 ZK,测试环境更是一把鼻涕两行眼泪

  • 监控方式 - 杂:2 个自主研发的监控系统、ELK、日志分析、端到端…


既然罗列的那么清楚,为什么不去解决它呢?比如说重构不就得了。。来说下为什么这些问题虽然清楚,但却久久不能 “根除” 呢?


1.技术容量与性能并非最大痛点,业务复杂度高带来的治理成本高是当务之急


2.研发资源有限,无法做到在业务高速并行阶段,同时兼顾系统的大规模改造


3.质量关的压力,回归测试依赖于人肉,版本管理带来的隐患等


一口气说了那么多‘问题’,想必身临其境的小伙伴肯定清楚,这些点绝非像文字描述的那样轻描淡写,可谓 “谁做谁知道,感觉真奇妙”


为了寻找突破,我也不断地和小伙伴们一起探索者,另外自从加入 EGO 这半年, 也接触了不少大咖,从某这角度说,上面我所谈到的问题和痛点,是具有普遍性的,只不过大家选择的解决路径不同罢了

‘治理’,先规范下吧

困难永远都在,用我们经常提及的一句话来概括下 “持续污染,持续治理,寻找平衡,夹缝中寻找突破”


通过几轮脑暴,我们打算先从 “dubbo 源码私有化” 开始,那就先谈谈为什么我们要启动 “dubbo 源码私有化”?


在此之前,公司内所有的 dubbo 服务都是“想怎么玩就怎么玩”,也出现了很多的需求和问题,基本都是‘头痛医头脚痛医脚’,解决完就拉倒,所以本次针对这些现象进行以下措施:


  • 版本化:基于最新版本 2.5.3(2012-10-22) ,近 1-2 年,各团队对 dubbo 源码多少修改了一些,版本不一致

  • 避风险:修复一些已知的 bug

  • 技术栈:架构团队对 dubbo 原理较为熟悉,但对源码逻辑、结构及 package tree 不够深入

  • 自定义:通过封装(或变更)底层源码的方式,达到测试 Debug 或技术支持


是的,我们改动了 dubbo 的源代码,并对多条业务线的 dubbo 源码进行了合并及封装、调整,罗列 4 处改动点:



小伙伴们经过 2 周的奋战,用漂亮的身手证明了,dubbo 源码也不过如此而已~

撸起袖子“建平台”

解决了 dubbo 源码私有化,说白了也只不过将原本不标准的流程变得标准了,顺带的解决了几个 BUG,并合了下代码


接下去,为了开展“持续治理”,我们开始基于 Dubbo 建立属于自己的“服务治理平台”~


规划架构设计图:



通过 HRB 平台,帮助我们解决以下问题:


  • 集中化:各接各的 ZK,各用各的 dubbo admin

  • 标准化:APP 名,接口名比较随意,给统计、自动化测试、管理带来困难

  • 强监控:部分业务线使用了 dubbo monitor,无法获取‘RPC 端到端 ’的各项数据

  • 需治理:具不可靠统计,目前 dubbo interface 已超过 500+

  • 洞见性(未来展望):灰度发布、应用分组、限流降级、弹性伸缩等

这么大的‘梦’要几个夜去圆

先从成本的角度说下各方的配合与投入:


  • 对于平台研发而言,主要的研发资源将投入在管理中心上(预计 4 周时间),着重满足多业务线、多视角的用户体验、数据体现等热点

  • 对于应用研发而言,由于对 dubbo 完全兼容和适配,将无需接入

  • 对于测试与运维而言,只需通过 3 项工作即可实现平滑过渡:

  • 替换 dubbo 包(HRB SDK),修改配置(集成配置中心)

  • 迁移 ZK 至新 ZK(两种方案:“一把切:全 dubbo 应用服务覆盖”与“逐步切:挑选应用” )

  • 将 dubbo Admin 下线,使用 HRB 开始工作


多想想,方法总是有的


对于好买来说,今年应该是推行‘平台化’以来的第 2 个年头,有时抬头看看,会觉得很累,路途漫漫,可当你回头看看走过的路,将会觉得成就满满


有时我们会抱怨,因为 A 条件不成立,所以无法达到 B 目标,其实只要我们多想想,多琢磨琢磨,哪怕是一条缝,应该也会有水珠滴落,只不过有太多的时候我们没有去关注,总觉得无在乎罢了


本文转载自头哥侃码公众号。


原文链接:https://mp.weixin.qq.com/s/SjBepU1Bn_0IePrr2k5GQQ


2020-04-17 15:03679

评论

发布
暂无评论
发现更多内容

Android 技术的下半场(1),android开发书籍下载

android 程序员 移动开发

Android 高频面试必问之Java基础,安卓framework开发

android 程序员 移动开发

Android 开发行业真的不行了嘛?,深入讲解Android

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏(1),android开发从入门到精通

android 程序员 移动开发

Android 性能监控系列一(原理篇),闭关60天学懂NDK+Flutter

android 程序员 移动开发

Android 约束布局(ConstraintLayout)1,最详细的解释小白也能听懂

android 程序员 移动开发

Android 面试主题集合整理,kotlin协程原理

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏,音视频编解码开发

android 程序员 移动开发

Android 黑科技保活实现原理揭秘,精心整理

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android实战项目

android 程序员 移动开发

Android 开发必备知识点整理,34岁程序员年薪50w

android 程序员 移动开发

Android 技术的下半场,kotlin开源

android 程序员 移动开发

Android 无缝换肤深入了解与使用,android快速开发

android 程序员 移动开发

Android 高工面试必考题(二),android开发艺术探索pdf百度云

android 程序员 移动开发

Android---Fragment-的过去、现状与未来,android网络层框架设计实战

android 程序员 移动开发

Android 开发经验分享:挺重要的网络基础,android实现选择题模式

android 程序员 移动开发

Android 组件化实战,kotlin协程实现原理

android 程序员 移动开发

Android 进阶之 MVP,高级安卓工程师面试题

android 程序员 移动开发

Android 开发一比一年难做!面试题都这么难了,android插件化

android 程序员 移动开发

Android 开发必备知识点及面试题汇总(Android+Java,斩获offer

android 程序员 移动开发

Android 架构组件的最新进展 (上篇),flutter登录界面设计

android 程序员 移动开发

Android 组件通信中有哪些不为人知的细节?,面试题分享

android 程序员 移动开发

Android---用力过猛!为了组件化改造学习十几家大厂的技术博客

android 程序员 移动开发

Android 网络框架之Retrofit源码解析,android嵌入式开发及实训答案

android 程序员 移动开发

Android 自定义 View 之 LeavesLoading,移动开发工程师考试

android 程序员 移动开发

Android 获取子 View 的位置及坐标的方式(1),Android入门视频教程

android 程序员 移动开发

Android 面试官:这些经验要记录好,面试途中会遇到,做了6年的Android

android 程序员 移动开发

Android&Java面试题大全—金九银十面试必备【上,大厂Android面试真题精选

android 程序员 移动开发

Android 开发之深入浅出 NavigationUI,2020-2021阿里巴巴安卓面试真题解析

android 程序员 移动开发

Android 开发面试心得:BAT大厂Android面试题整理,面试8家大厂后终于拿到Offer

android 程序员 移动开发

Android 插桩入门,腾讯T2大牛手把手教你

android 程序员 移动开发

把越来越多的服务治理好才是当务之急,服务微不微可以慢慢来_语言 & 开发_头哥侃码_InfoQ精选文章