Mobabel Blog

0

[转]哪个技术火就选哪个?热闹驱动开发的技术选型使不得!

本文的主题是技术选型,作者总结了他见过的各种不靠谱的技术选型方式,比如有的团队会根据社交媒体上的讨论来决定选择哪种架构,也有的团队会跟风走,哪个热门就选哪个。但总体来看,这样简单粗暴的方式一定会为未来埋下隐患。那为什么这样说?我们应该如何做正确的选择?且听作者细细道来。另本文译者余晟,曾经是主力程序员、技术文章的写作和翻译爱好者,现在在沪江负责研发和软件架构。欢迎关注他的个人公众号“余晟以为”,了解一位非典型 IT 人员对世界的看法。 软件开发团队所做的软件架构或技术栈的决策,很多并没有经过踏实的研究和对目标成果的认真思考,而是不准确的意见、社交媒体的信息,或者就些是“热闹”的玩意。我称这种作派为“热闹驱动开发(Hype Driven Development,HDD)”,眼见它的危害,我赞成更专业的做法,就是“脚踏实地的软件工程”。下面我们一起看看HDD的来龙去脉,想想能如何改进。

0

[转]金丝雀发布、滚动发布、蓝绿发布到底有什么差别?

根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异。技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节。 作为技术人员,大家可能听说过“滚动发布”和“蓝绿发布”等术语,但是很多人并不清楚这些术语背后的原理。本文试图总结当前主流的发布策略,每个的优劣,适用性,让开发人员特别是架构师对现代发布技术有一个更为清晰全面的认识,让大家能够根据自己的企业上下文,对发布策略做出正确的选型和实践。

[转]app拆分,多产品打包实录 0

[转]app拆分,多产品打包实录

1. 1前言 公司有需求app需要拆分为两个:云部署版和企业版。 a.云部署版就是原app ,保持不变; b.企业版是新app,与云部署的界面,功能有差异,并且不上架应用市场,只在企业内网使用。用户手机上可以同时安装这两个app。 1-1-1-1.

0

[转]聊聊Chaos Engineering的历史、原则和最佳实践

  随着微服务和分布式云架构的崛起,Web 变得日趋复杂,“随机性”的故障因此变得越来越难以预测,而我们对这些系统的依赖却与日俱增。 这些故障给公司造成巨大损失,也给用户带来很大的麻烦,影响他们进行在线购物、交易或打断他们的工作。即使是一些简单的故障也会触及公司的底线,因此,宕机时间就成为很多工程团队的 KPI。2017 年,有 98% 的企业表示,一小时的宕机时间将给他们带来超过 10 万美元的损失。一次服务中断有可能让一个公司损失数百万美元。最近,英国航空的 CEO 透露,2017 年 5 月发生的一次技术故障造成数千名乘客滞留机场,给公司造成 8000 万英镑的损失。 企业需要想办法解决这些问题,因为等到下一次事故发生就为时已晚。为此,混沌工程(Chaos Engineering)应运而生。 混沌工程(Chaos Engineering)旨在将故障扼杀在襁褓之中,也就是在故障造成中断之前将它们识别出来。通过主动制造故障,测试系统在各种压力下的行为,识别并修复故障问题,避免造成严重后果。 混沌工程将预想的事情与实际发生的事情进行对比,通过“有意识地搞破坏”来提升系统的弹性。 1. 混沌工程简史 混沌工程最先出现在互联网巨头公司中,这些公司拥有大规模的分布式系统,因为这些系统太过复杂,他们需要一些新的手段来测试它们。 2010 年 Netflix Eng Tools 团队开发出了 Chaos Monkey。当时,Netflix 从物理基础设施迁移到...

[总结]58到家MySQL军规升级版 0

[总结]58到家MySQL军规升级版

1. 一、基础规范 表存储引擎必须使用InnoDB   表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它

0

[转]Nginx宣布正式支持gRPC,附示例代码

  NGINX 官方博客正式宣布 NGINX 支持原生的 gPRC,现在就可以从代码仓库拉取快照版本。该特性将会被包含在 NGINX OSS 1.13.10、NGINX Plus R15 以及 NGINX 1.13.9 当中。 NGINX 已经能够代理 gRPC TCP 连接,用户可以用它: 发布 gRPC 服务,并应用 NGINX 提供的 HTTP/2 TLS 加密机制、速率限定、基于 IP 的访问控制以及日志等功能。 在单个端点上发布多个 gRPC 服务,使用 NGINX...

0

[转]MySQL是如何做容器测试的?

随着容器基础设施的出现,容器基础设施的测试变得与机器镜像的测试一样重要。 传统的基础设施管理是一项手动任务,由系统管理员管理静态服务器。现代云平台的自动化能力改变了这种工作方式:基础设施通常被描述为“代码”,基础设施管理系统会对基础设施自动做出变更。因此,基础设施的变得更加动态,周转时间也要短得多。 基础设施测试框架通常被用于验证机器镜像的状态(Amazon Machine Images、Google Compute Images 或 Oracle OCI Images)。随着容器基础设施的出现,容器基础设施的测试变得与机器镜像的测试一样重要。 在 MySQL,我们有很多基础设施,我们越来越多地使用容器来代替真实(虚拟)机器。此外,越来越多的核心基础设施运行在 Oracle 的云基础设施(OCI)上。这要求我们实现多个级别的自动化,并且可以利用基础设施测试来验证我们的服务器(或虚拟机、容器)的状态。基础设施测试还用于验证我们发布的一些工件的状态。 在这篇博文中,我们将重点介绍如何使用自动化基础设施测试来验证 MySQL Server Docker 镜像。我们将比较三个可用于进行容器测试的框架,并给出示例代码。

0

[转]Kubernetes上的十大应用程序

在崭新的 Kubernetes 集群上,经常会安装的 helm chart 都有哪些呢? 在崭新的 Kubernetes 集群上,经常会安装的 helm chart 都有哪些呢?下面这个清单代表了我们的观点。 序号 名称 理由 1 nginx-ingress 世界上最常见的前端代理,非常易于搭建,功能具有通用性。根据场景的不同,可能会有更好的 Ingress,但是它的份额占到了 99%。 2 coredns Kubernetes 上最好的 DNS 服务器。默认的 KubeDNS 比较糟糕,所以毫无疑问你需要将它切换掉。借助 coredns 你还可以启用一些很酷的插件,使其能够与其他的应用程序协作,比如 Prometheus。 3 Prometheus 每个人都应该使用...