当前位置:首页 > 数码 > 哈啰云原生架构落地实践探索 (哈罗云起)

哈啰云原生架构落地实践探索 (哈罗云起)

admin8个月前 (04-15)数码74

全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择。

当时第一时间考虑用原生HPA组件,但在实际调研和小规模使用的时候发现了很多问题。一方面是内置的问题,如原生不支持自定义指标和定时扩缩容,使用率计算基于resources.requests,使用单个Goroutine执行。更大的痛点在业务场景上,微服务在线实例拉出状态,特殊业务Job任务实例不能中断,要考虑下游DB层可用性。

我们基于业务实例实际水位、有效负载构建弹性能力。

这里同时做了水位阈值弹性和定时弹性的融合,保证单个的应用能够同时使用阈值和定时弹性。基本原则是扩容时大者取大,缩容时不能低于定时副本数。

业务使用弹性后产生了一定的效果,如图是高低阈值和定时的区间。这里解决了一些问题:最终弹性接入90%以上,扩缩容消息触达率100%,业务可用算力增加了30%以上。

哈啰云原生架构落地实践探索

集群可用资源变多,不等于整体开支降低,因此我们考虑去做混合云模式下的ClusterAutoScale。这里有一些关注点,包括镜像即服务、CloudProvider适配、节点初始化和节点回收。右图是基本流程,有两个触发策略,一是基于不可调度事件,二是基于资源池水位阈值。这里我们也解决了一些问题,包括CloudProvider对接私有云资源API,Pod网段分配域路由宣告,私有云可用容量评估及资源打散,以及资源灰度回收逻辑。

在实际业务时生产使用的时候,有很多关注点,包括业务池的容量、应用维度的实例波动率标准、存活探测和就绪探测的接口区别、指标阈值和弹性规则的合理性巡检、不做过多filter、不强依赖其他系统平台。

针对业务特性,将和flink资源池进行融合,达到分时复用的效果。之前的形态会带来很多问题:

混部里面这里做了一些思考,考虑了应用分级、资源需求、潮汐分布等等。将这些因子抽象归纳,分为应用分级、混部调度、资源QOS三层。我们也确定了几个总体方向,包括服务资源保障的策略实现和资源分配决策的算法实现。在服务资源保障上,主要是对应用分级打标。我们把所有的业务做了S1-S4的分级,并落到了CMDB里,最终落到K8S的优先级标签里面。第二部分是资源池化,优先去考虑以底层的业务为重保,把一些优先级较低的应用分别打散到各个资源池。在资源分配决策上,第一部分是Request推荐。主要基于VPAHistogram计算百分位算法,通过获取7x24小时周期的应用资源量,根据P95百分位数据,再乘以水位系数放大后得到最终推荐值,并结合弹性、coolhealth状态机优化毛刺问题。第二部分是实际负载调度,主要基于集群理想值权重算法和BinPacking装箱打分算法。过滤掉高水位节点,避免单node资源打爆;水位偏离度缩小,pod调度尽可能靠近理想水位;历史阈值计算应用负载,对节点未来水位预测;兼顾单node最大pod数限制。第三部分是资源打散,通过问题推导,完全打散是不可能的,我们希望尽可能打散,在私有云IDC加入MDU策略。常用的策略有宿主机打散、可用区打散和MDU打散。

最终资源使用率有明显提高,成本账单同比持续降低。这里也带来了一个无法回避的问题:物理机宕机。爆炸半径增大,稳定性怎么保障,是我们基础设施的同学都需要去思考的问题。二是对根因下钻和故障定位带来挑战,如何观测和评估影响。

基于Prometheus构建了完整的监控体系,包括指标采集、存储、告警、查询和可视化。通过自定义指标的采集,实现了对业务指标、资源指标和基础设施指标的全面监控,并提供了丰富的告警规则和可视化仪表盘,实现对集群运行状态的实时监控和问题发现。

增强了Pod的可观测能力,包括日志采集、事件收集、网络流量监控和metrics采集。通过日志采集和分析,可以快速定位故障原因;通过事件收集,可以了解Pod的事件发生情况;通过网络流量监控,可以分析网络性能和流量走向;通过metrics采集,可以监控Pod的资源使用情况和运行状态。

通过Chaos Engineering技术,构建了集群故障自愈能力。利用混沌引擎,对集群进行各种故障注入,如节点故障、Pod故障、网络故障等,验证集群的弹性能力和自愈能力。通过混沌工程的实践,提升了集群的稳定性和可靠性,降低了故障对业务的影响。

通过稳定性分析和优化,提升了集群的稳定性。通过对集群日志、事件和指标的分析,识别常见故障模式,并进行针对性的优化。例如,通过分析Pod重启日志,发现Pod重启主要由于内存不足,因此针对性地增加了节点内存容量,有效减少了Pod重启数量。通过全面的稳定性分析和优化,提升了集群的稳定性和可用性。


蔷薇花的完整资料

蔷薇花,泛指蔷薇科,学名Rosa,英文名Rosa multiflora,(ROSAE/Rose),泛指蔷薇科;又名多花蔷薇、蔷蘼、刺玫、白残花,属蔷薇科蔷薇属的落叶或半常绿的匍匐状灌木的花朵,自古就是佳花名卉。 蔷薇花香味很浓,花香诱人,花瓣中可提取芳香油,其价值高于黄金,具有很高的药用、食用价值。 蔷薇花喜生于路旁、田边或丘陵地的灌木丛中,分布于我国华东、中南等地。 (山东、河南、江苏、安徽、新疆等地)。 野蔷薇多自然分布于溪畔、路旁及园边、地角等处,往往密集丛生,满枝灿烂,微雨或朝露后,花瓣红晕湿透,景色颇付佳。 蔷薇花花期——蔷薇花花期5~9月份,次第开放,有半年之久,品种较多,名称亦很复杂,《群芳谱》称蔷薇的变种有: ①粉团蔷薇,花粉红色,单瓣,数花或多花簇生为扁平伞房花序; ②七姊妹,叶较大,重瓣,常六七朵合成扁伞花序; ③荷花蔷薇,花重瓣,淡桃红色,状似荷花; ④黄蔷薇,不但颜色鲜艳,且花期特早,为园艺界所珍爱。 也有人谓蔷薇有香水蔷薇、红枝蔷薇及光叶蔷薇3种。 蔷薇种类——其实蔷薇的种类、变种、品种都比上述的要多,各地名称也不一致,我们通常所说的蔷薇,只是这类花的通称。 花色有乳白、鹅黄、金黄、粉红、大红、紫黑多种,花朵有大有小,有重瓣、单瓣,但都簇生于梢头,色泽鲜艳,气味芳香,是香色并具的观赏花。 枝干成半攀缘状,可依架攀附成各种形态,宜布置于花架、花格、辕门、花墙等处,夏日花繁叶茂,确有“密叶翠幄重,脓花红锦张”的景色,亦可控制成小灌木状,培育作盆花。 有些品种可培育作切花。 蔷薇科——蔷薇科是一较大的科,分四亚科(1、绣线菊亚科,2、蔷薇亚科,3、苹果亚科,4、梅亚科)、约124属、3300种,主产北半球温带。 我国有51属、1000多种,原产于我国中部及南方各省,现全国分布;主要分布于我国华东、中南等地。 (山东、河南、江苏、安徽、新疆等地)。 蔷薇科,喜生于路旁、田边或丘陵地的灌木丛中;蔷薇科属草本、灌木或乔木,常有刺。 叶互生,稀对生,单叶或复叶,托叶对生。 花托凸隆或凹陷成碟状、钟状、杯状、坛状或圆筒状的花筒,称萼筒或花托筒。 花两性,5基数,子房上位或下位。 果实为核果、梨果、瘦果、蓇葖果等。 种子无胚乳。 蔷薇根——蔷薇根,为蔷薇科植物多花蔷薇的根,本品性味苦、涩、凉,入脾、胃经。 有清热利湿、祛风活血、解毒消肿之功,适用于肺痈、消渴、痢疾、关节炎、瘫痪、便血、尿频、遗尿、月经不调、跌打损伤、疮疖疥癣等。 [历史相关]: 1、明代顾磷曾经赋诗:“百丈蔷薇枝,缭绕成洞房。 蜜叶翠帷重,浓花红锦张。 张著玉局棋,遣此朱夏长。 香云落衣袂,一月留余香。 ”诗中描绘出一幅青以缭绕、姹紫嫣红的画面。 蔷薇花花色很多,有白色、浅红色、深桃红色、黄色等,花香诱人。 (蔷薇花观赏)2、考古学家曾一度认为,中华民族正是以华山脚下的仰韶文化的蔷薇花作为民族的图腾而得名,不过,现代学者多认为“华夏”、“中华”、“华人”是以华山得名。 (华山简介)3、蔷薇十字团。 (见网络百科) 在日本被称作“蔷薇十字会”,是流传在欧洲的秘密结社。 这是中世纪为了与罗马教皇及教会对抗,实践希腊真正教义而发展起来的结社,但是被罗马天主教视为异端。 在那段时期,这个结社始终没有形成一个合法的组织,因此被视为神秘的存在。 团员的目标在于想要成为神秘学知识的通晓者,以“博爱”为尊,把尽快救助重兵患者当作责任。 正因如此,蔷薇十字团需要研究并实践炼金术的医学。 而到了18世纪,由于与罗马天主教对立,蔷薇十字团被视为异端。 如果被蔷薇十字团当作基础的炼金术具有实用性的话,或许就能取代罗马天主教,成为国家宗教。 “炼金术是为大众服务”,像亚美斯特利斯这样极大发挥其实用性的国家,也可以看作现实当中不存在的以蔷薇十字团为母体的国家。 [食用功效]: 5~6月间,当花盛开时,择晴天采收,晒干作药用。 蔷薇花味甘温、酸、凉性凉,入脾、肺、大肠。 蔷薇花有清暑化湿、顺气和胃、止血的功效。 适用于治疗暑热胸闷、口渴、呕吐、不思饮食(治疗厌食)、口疮、口噤、腹泻、痢疾、吐血及外伤出血等。 对痢疾、胸闷、中暑都有一定的疗效,同时还是治疗厌食、口疮溃疡的良药。 [食用方剂]:(中医食疗方) 1、蔷薇花粥——鲜蔷薇花4朵,大米100克,白糖适量。 将蔷薇花洗净,切细;大米淘净,放入锅中,加清水适量,煮为稀粥,待熟时调入蔷薇花、白糖,煮至粥熟服食。 每日1剂。 可清热解暑,适用于小儿夏季热、中暑头晕等。 2、蔷薇绿豆粥——鲜蔷薇花4朵,大米、绿豆各50克,白糖适量。 将蔷薇花洗净,切细;大米、绿豆淘净,放入锅中,加清水适量,煮为稀粥,待熟时调入蔷薇花、白糖,煮至粥熟服食。 每日1剂。 可清热解暑,适用于暑热吐血,口渴,烦热等。 3、蔷薇鲇鱼汤——鲜蔷薇根30克,黑鲇鱼1条,调味品适量。 将蔷薇根水煎取汁备用。 黑鲇鱼去鳞杂,洗净,切块,放入锅中,加清水适量煮沸后,再下药汁及调味品等,煮至鱼肉熟透即成,每日1剂,连续1周。 可清热利湿,适用于热湿下注、尿频尿急等。 4、蔷薇蒸鱼——蔷薇花3朵,半斤重鲫鱼1尾,调味品适量。 将蔷薇花洗净,切细各用。 鲫鱼洗净,去鳞、鳃、内脏,鱼体躯干部斜切3~5刀,放入砂锅,加葱、姜、蒜、盐、料酒和适量清水,在文火上蒸20分钟,然后放入洗净的蔷薇花,加味精、香油少许,即可食用。 可清热利湿,适用于湿热泻痢,大便不爽。 [现代药理研究]:蔷薇花,主要含黄芪甙、挥发油;有利胆作用,对多种细菌有抑制作用;可吸收硫化氢、苯、苯酚、乙醚等有害气体,亦可清除锑剂中毒。 [家养蔷薇/人工栽培/繁殖技术]: 蔷薇花为喜光花木,需充足阳光。 适生于排水良好的肥沃润湿地。 家养蔷薇——家养蔷薇花容易生蔷薇白粉病,症状为:幼叶淡灰色,叶变扭曲,上覆一层白粉,严重时叶片枯萎、花朵小而少,甚至不能开花,病菌也可浸染花柄、茎等部位。 要注意做好: 1、改进蔷薇生长条件,适当通风、透光,少施氮肥,多施磷、钾肥。 2、冬季修剪后喷1.02千克/升石硫剂杀死越冬病菌。 发病前可喷施200倍等量式波尔多液预防,发病时喷15%粉锈宁可湿性粉剂1000倍液,或70%甲基托布津可湿性粉剂1000倍液。 人工栽培——适应性颇广,我国除冬季严寒越冬外,南方广大地区,均宜种植。 野生蔷薇少有病虫害,人工栽培的常有锯蜂、介壳虫、蚜虫以及焦叶病、溃疡病、黑斑病等病虫害。 除应注意用药液喷杀外,布景时应与其他花木配置使用,不宜一处种植过多。 每年冬季,对老枝及密生枝条,常进行强度修剪,保持透光及通风良好,可减少病虫害。 修剪,为蔷薇造景整形中不可缺少的重要工序、修剪不善,长成刺蓬一堆,参差不齐,不仅病虫害多,外形亦不雅观。 植株蔓生愈长,开花愈多,需要的养分亦多,每年冬季需培土施肥1次,保持嫩枝及花芽繁茂,景色艳丽。 培育作盆花,更注意修枝整形。 切花因产花量大,产花季每周需施肥1~2次,并应注意培育采花母枝,剪去弱枝上的花蕾。 繁殖技术——蔷薇花种子可供育苗,但生产上多用当年嫩枝扦插育苗,容易成活。 名贵品种较难扦插,可用压条或嫁接法繁殖,无性繁殖的幼苗,当年即可开花。 用作盆花的苗,应选择优良品种中较老的枝条,用压条法育苗,还要注意修剪主芽,进行人工矮化。 用作切花的苗,应选择能形成采花母枝、花大色艳的品种育苗。 [蔷薇花语]:蔷薇:它的花语代表爱情和爱的思念。 盛开的蔷薇给予人对爱情的憧憬,然而爱情不只是一场美丽的梦,花虽然会凋谢,心中的最爱却永不凋零,蔷薇就是恋的起始、爱的誓约。 蔷薇花表示的涵义:蔷薇花美丽、圣洁,表示崇高神圣的爱情,尤其是红色的蔷薇,更是初恋者赠送的佳品。 蔷薇花语:美好的爱情,爱的思念;美德。 蔷薇花语关键词:美好的爱情 ●各种蔷薇花语:1、红蔷薇--热恋;(表示求爱、爱情。 )2、粉蔷薇--爱的誓言;3、白蔷薇--纯洁的爱情;(表示爱情、纯洁。 )4、黄蔷薇--永恒的微笑;5、深红蔷薇--只想和你在一起;只想了解你一人;6、粉红蔷薇--我要与你过一辈子;我要嫁给你;7、圣诞蔷薇--追忆的爱情;8、野蔷薇--浪漫的爱情(野蔷薇物语:跟你一起转到天堂去) 蔷薇花的花语是——爱的思念。

如何推进个人金融生态圈建设

先了解有车一族的需求,一般的车用于哪些方面。 然后这些方面入手金融生态圈

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: 架构

“哈啰云原生架构落地实践探索 (哈罗云起)” 的相关文章

实时的跨微服务数据访问-可信-微服务架构中的数据一致性-保障可靠 (跨服聊天微信例子)

实时的跨微服务数据访问-可信-微服务架构中的数据一致性-保障可靠 (跨服聊天微信例子)

引言 在微服务架构中,多个服务共同协作以执行原子操作。数据一致性是跨越多个服务执行分布式事务时面临的一项挑战。如果涉及分布式事务流程的某个参与者出现故障,可能会导致数据不一致,例如未下订单却向客...

微服务架构中的不可或缺的服务治理工具-Eureka (微服务架构中如何处理服务间的通信)

微服务架构中的不可或缺的服务治理工具-Eureka (微服务架构中如何处理服务间的通信)

引言 Eureka是Netflix OSS(开源软件)项目的一部分,它是一个用于实现微服务架构中的服务注册和发现的开源工具。在当今庞大且复杂的微服务系统中,Eureka扮演着至关重要的角色,帮助...

CSaaS架构-开启数字孪生软件架构的新纪元 (csaas架构)

CSaaS架构-开启数字孪生软件架构的新纪元 (csaas架构)

简介 Browser/Server (BS) 和 Client/Server (CS) 是两种不同的软件架构模式,具有不同的特点和优缺点。本文将对这两种架构进行比较,并介绍山海鲸可视化的 C...

掌控复杂性-创造灵活可扩展的系统-六边形架构 (复杂事物掌控力)

掌控复杂性-创造灵活可扩展的系统-六边形架构 (复杂事物掌控力)

六边形架构是一种架构模式,将外部系统与核心应用程序分隔开来。它的思想很简单:从一个六边形开始,然后应用端口和适配器。 六边形架构的六个边 六边形有六个边,但六边形的形状本身并没有特别含...

六种最关键的架构模式 (六种最关键的职业)

六种最关键的架构模式 (六种最关键的职业)

架构模式:六种常见且关键的模式 引言 在软件开发中,架构模式是一种经过验证的解决方案,可以帮助解决常见的开发问题。这些模式提供了重用性的设计方案,允许开发人员创建可维护、可扩展和易于测试的应用程序...

架构中的低成本约束 (架构中的低成本是指)

架构中的低成本约束 (架构中的低成本是指)

低成本架构:创新与挑战的平衡 引言 在架构设计过程中,成本通常被视为一项重要约束或非功能目标。与高并发、高性能、高可用和安全性等其他非功能目标类似,低成本贯穿整个架构设计流程。本文探讨了实现低成...

从单体到分布式-全面解析-一文搞懂微服务架构演进 (单体可分为)

从单体到分布式-全面解析-一文搞懂微服务架构演进 (单体可分为)

简介 微服务架构是一种软件开发方法,将应用程序拆分为较小的、独立的服务,这些服务可以单独部署和维护。该架构旨在提高灵活性、可扩展性和可靠性。 微服务组件 服务:独立部署和维...

对代码的编写有很好的指导作用-聊聊六边形架构 (代码的编写过程)

对代码的编写有很好的指导作用-聊聊六边形架构 (代码的编写过程)

为了编写出漂亮代码,学习设计模式是一个好方法。但是,只读这些书籍还不够,还需要理解它们背后的思想,即面向对象的原则。 六边形架构是一种软件架构模式,遵循这些原则,可以实现高内聚、低耦合和可测...