b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

编程语言有哪些 全球直播的罗胖跨年演讲背后技术支撑故事——罗辑思维首席架构师方圆访谈(2)

电脑杂谈  发布时间:2018-01-19 18:10:33  来源:网络整理

0.10 支持流处理功能,同时将 consume 的 offset 移到默认 topic 里

1.0.0 stream 能力增强

2017 年 8 月 5 日 Kafka 发布 0.11 版本支持 exactly-once,增强了事务处理能力

编程语言有哪些_电脑语言编程_2017年编程语言排行榜

2017 年 8 月 LinkedIn 开源 Kafka Cruise Control,提供自动化运维功能

2017 年 8 月 28 日 Confluent 宣布开源 KSQL,用于 Kafka 的流数据 SQL 引擎

2017 年 11 月 3 日 Kafka 宣布 1.0.0 发布

Kafka 使用场景最大的变化:最早大家主要用 Kafka 做些日志处理系统,后来主要应用在消息队列系统,近两年随着 Kafka stream 方面处理能力增强,逐渐转变成轻量级的流处理平台。

业务架构梳理 我们梳理出了很多潜在的问题,比如早期的系统里有很多双向调用,也有很多随意使用资源,还有很多引起读放大或者写放大的代码,还有很多不合理的调用关系栈,对业务系统有个比较清晰的架构。同时也在调用链路上发现一些问题。

服务/资源拆分 早期主要业务系统是一个整体式架构,核心业务调用链上只使用了一个,缓存使用也是集中在几个主要的缓存集群中,因此我们做了很多资源和服务拆分,分散压力

重要服务代码重构 相应的主要业务模块拆分成单独服务,做好对资源的抽象,为了应对较大的压力,我们实现了一个简单的多级缓存框架,所有代码重构项目都使用了这个多级缓存框架,保证业务系统的处理能力

压力测试 压力测试分两部分,一部分是功能上线前由开发工程师进行相应的压力测试,如果有问题通过 Go 语言相应工具进行分析,提高到一定标准后才能上线发布。另一部分是由阿里云 PTS 团队提供的全链路压力测试,我们在 3 个月时间内进行了 18 轮全链路压力测试,覆盖到得到主要接口(接近 200 个接口,覆盖率接近 50%)。通过单个服务的压力测试,我们解决了单个服务的性能问题,通过全链路压力测试,我们解决了调用链路引起的问题。经过 18 轮压力测试后,系统负载能力提升 25 倍以上,为跨年作好准备。

API 网关 即使我们做了前面所述的业务拆分,服务拆分和重构,我们也不能保证系统 100% 不出问题,特别是那些没重构的系统。毕竟系统的负载能力取决于最短板。我们解决这个问题的方法是引入 API 网关。我们在 9 月份的时候,引入 API 网关,跨年前对一些可能出问题的接口做了对应的限流策略。

提问:据了解得到在跨年前夕做了重要的重构,简单介绍下这次重构的背景及成效吗?方圆:重构背景其实也比较简单,去年 8 月 31 日,得到第二次产品发布会在深圳卫视和多个视频网站播出,带来的流量是平时早晚高峰的 4 倍左右,导致一次大故障。因此从 9 月份开始,我们集中一部分开发力量重构了 10 多个重要的业务模块。在重构的过程中,主要考虑以下几点来优化性能问题:

严格控制资源(,缓存)使用 早期服务对资源使用很随意,有很多引起读/写放大的代码,因此新系统严格控制对资源的使用

保证非核心业务数据可以自动降级 对非核心业务进行自动调用降级,但是因为我们使用 Go 语言的原因,尚未做熔断机制,这也是我们 18 年确定的落地目标之一。

保证核心链路稳定 对于跨年的核心链路来说,比如收听,购买,拉新,兑换,我们保证核心链路不被非核心链路影响。

对写入进行削峰处理和异步化 对于购买流程来说,我们部分做了异步化,对于非购买相关的业务流程,我们通过 MQ 进行了削峰和处理。效果还是很明显,削峰和合并写入之后,相关 IOPS 降低一个数量级。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-61315-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 谭建雄
      谭建雄

    • 艾慧明
      艾慧明

      不过这个混乱本来就是美国人制造的

    • 吴兢
      吴兢

      靠上市变成亿万富翁多得去了

    热点图片
    拼命载入中...