Mobabel Blog

0

[转]如何向小白讲述软件架构发展历程?

1. 什么是架构 计算机科学和程序设计的飞速发展,使得软件设计应用到从航空航天到日常生活的方方面面。单个人开发一段小程序的做法早就过时,大范围协作的工程化时代随即到来。 随着大范围协作的效率问题和软件复杂度的爆炸式增长,管理和技术方面的各种不确定性也爆发性增加,导致软件开发的质量无法得到有效保证,周期和成本无法得到有效控制。 人们一直在寻求找到这些问题的解决办法。然而 Fred Brooks 在 1975 年出版的软件工程圣经《人月神话》中说,没有(能解决所有问题的)银弹(There is no silver bullet)。

0

[转]IMDB、烂番茄…哪家网站的电影评分更靠谱?

我们在选择看哪一部电影时,通常会考虑很多个因素,比如导演是谁、演员是谁,或者电影的预算是多少。大部分人都是基于影评、预告片做出决定,或者直接根据电影的评分来决定。 出于某些原因,有些人不愿意看影评或预告片,尽管它们比评分提供了更多的信息。

0

[转]一个支付服务的最终一致性实践案例(含伪代码)

“功夫贷”是一款线上贷款 APP,主要是给信用卡优质用户提供纯线上的信用贷款,以期限长、额度高、利息低为主要优势(类似的业务模式主要有宜人贷)。 和任何一种分期贷款一样,符合资质的用户,在功夫贷成功贷款之后,需要在约定还款日还款。目前还款主要有以下这几种方式: 用户在 APP 上主动还款; 系统定时通过后台任务扣款; 催收人员通过内部作业系统,手动发起扣款;

0

[转]批处理ETL已死,Kafka才是数据处理的未来

在 QCon 旧金山 2016 会议上,Neha Narkhede 做了“ETL 已死,而实时流长存”的演讲,并讨论了企业级数据处理领域所面临的挑战。该演讲的核心前提是开源的 Apache Kafka 流处理平台能够提供灵活且统一的框架,支持数据转换和处理的现代需求。 Narkhede 是 Confluent 的联合创始人和 CTO,在演讲中,他首先阐述了在过去的十年间,数据和数据系统的重要变化。该领域的传统功能包括提供联机事务处理(online transaction processing,OLTP)的操作性数据库以及提供在线分析处理(online analytical processing,OLAP)的关系型数据仓库。来自各种操作性数据库的数据会以批处理的方式加载到数据仓库的主模式中,批处理运行的周期可能是每天一次或两次。这种数据集成过程通常称为抽取 – 转换 – 加载(extract-transform-load,ETL)。

0

[转]分布式系统架构经典资料

前段时间,我写了一系列分布式系统架构方面的文章(拉到文末看目录),有很多读者纷纷留言讨论相关的话题,还有读者留言表示对分布式系统架构这个主题感兴趣,希望我能推荐一些学习资料。 就像我在前面的文章中多次提到的,分布式系统的技术栈巨大无比,所以我要推荐的学习资料也比较多,会在后面的文章中陆续发出。在今天这篇文章中,我将推荐一些分布式系统的基础理论和一些不错的图书和资料。

0

[转]如何用故事的方式向你的老板讲清楚运维到底在干什么?

我是一名运维工作者,可是老板,决策者并非技术出身,并不理解运维,甚至曾经碰到过有人简单的理解运维为,就是看着电脑不宕机,网络不掉线。这时候运维的困难就来了,当我们需要资源做事情的时候,决策者会带着一脸的怀疑问我们为什么。 这时候我们用一些自认为时髦的技术词语告诉领导,我们要用虚拟化管理服务器,分布式解决大并发,自动化部署应用,智能化监控应用,你猜老板能否听懂?能否立马支持你的工作?事实是,当老板听不懂你在说什么的时候,是不会支持你的,或者支持力度很小。

0

[转]阿里巴巴微服务与配置中心技术实践之道

在面向分布式的微服务系统中,如何通过更高效的配置管理方式,帮助微服务系统架构持续“无痛”的演进,动态调整和控制系统的运行时飞行姿态,值得我们好好的在配置管理上重新思考和设计。别让您的微服务被配置管理“绊”了一跤! 本文是阿里巴巴高级技术专家 @坤宇在 2017 年 QCon 微服务专题演讲中关于微服务与配置中心的演讲实录的文字版,演讲视频可以参见: http://www.infoq.com/cn/presentations/micro-service-and-configuration-center?spm=a2c4e.11153940.blogcont332358.36.30772099lWiw8H 阿里巴巴集团早在 2007 年进行从 IOE 集中式应用架构升级为互联网分布式服务化架构的时候,就意识到在分布式环境中,传统的分散式的、基于配置文件的、应用自包含的配置管理方式将面临重大挑战,亟需设计匹配新架构的新的配置管理解决方案,解决诸如分布式服务治理,数据源容灾切换,异地多活,预案,限流规则等场景下的配置变更以及热生效问题,这直接诞生了今天阿里集团内部被广泛使用的配置中心 ACM(Diamond),而这也是目前世界上最大的配置中心,存储了超过百万的生产配置,在集团内部支持了包括淘宝、天猫、菜鸟、阿里云、高德等全网几乎阿里所有的应用,每天产生近 10 亿次的配置变更推送。

0

[转]从业近20年,我对于软件架构这件事的一些思考

本文要点预览:因为软件系统的分布式特点以及开发团队的分布性,了解软件架构的基础变得越来越重要。而在过度设计和毫无设计之间,我们应该把注意力放在对软件系统有重大影响的决策和权衡上。好的架构师应该是团队的活跃分子,不仅能够进行代码协作,还能为团队提供技术指导。软件架构中的沟通环节极具挑战性。C4 模型对软件架构中的沟通环节进行了结构化,从一个上下文图表开始,再逐步深入到系统的各个技术层面。实际上,可以多花一些时间实现好的架构,好的架构能够带来敏捷。

0

[转]一个针对所有RPC框架的性能测试

几乎所有的 RPC 框架都宣称自己是“高性能”的,那么实际结果到底如何呢, 让我们来做一个性能测试吧。 项目地址: https://github.com/hank-whu/rpc-benchmark 测试说明 仅限于 Java; 客户端使用 JMH 进行压测, 32 线程, 10 次预热, 3 次运行; 每次运行前都会执行 killall java, 但没有在每轮测试时重启操作系统; 所有类库版本在发布时都是最新的, 除非存在 bug; 所有框架都尽量参考该项目自带的 Benchmark 实现; 将会一直持续, 不定期发布测试结果; 测试用例 boolean existUser(String email),...