Browsed by
分类:架构

产品架构

OpenStack在小米私有云平台的实践

OpenStack在小米私有云平台的实践

小米OpenStack项目概况 小米目前内部建设的是高可用的私有云平台,为全公司提供统一的云服务平台。提供弹性的资源分配和部署方式,同时提高资源的分配和管理效率。减少服务资源的交付周期。为此小米定了四大目标: 稳定第一:支撑公司多条产品线业务,力求稳定 性能优化:尽快可能的降低虚拟机的资源消耗,保证虚拟机的

应用多级缓存模式支撑海量读服务

应用多级缓存模式支撑海量读服务

原文出处: 张开涛 缓存技术是一个老生常谈的问题,但是它也是解决性能问题的利器,一把瑞士军刀;而且在各种面试过程中或多或少会被问及一些缓存相关的问题,如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关,因此如何合理应用缓存来

分布式Unique ID的生成方法一览

分布式Unique ID的生成方法一览

分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法。   1. 发号器 我接触的最早的Unique ID,就是Oracle的自增ID。 特点是准连续的自增数字,为什么说是准连续?因为性能考虑,每个Client一次会领20个ID回去慢慢用,用完了再来拿。另一个Client过来,拿的就是另外2

如果有人问你数据库的原理,叫他看这篇文章

如果有人问你数据库的原理,叫他看这篇文章

本文由 伯乐在线 – Panblack 翻译,黄利民 校稿。未经许可,禁止转载! 英文出处:Christophe Kalenzaga。欢迎加入翻译组。 一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌

为什么Uber宣布从Postgres切换到MySQL?

为什么Uber宣布从Postgres切换到MySQL?

导读:近期 Uber 宣布将数据库从 Postgres 迁移到 MySQL,在多个技术社区中引起了轩然大波,通过本文我们来详细了解 Uber 做出以上决策背后的原因。 介绍 Uber 的早期架构是由 Python 编写一个单体后端应用程序,使用 Postgres 作为数据持久化。后来 Uber 架构经历一系列显著改变,朝着微服务架构和新的数据平台发展。具

携程实时大数据平台演进:1/3 Storm应用已迁到JStorm

携程实时大数据平台演进:1/3 Storm应用已迁到JStorm

今天给大家分享的是携程在实时数据平台的一些实践,按照时间顺序来分享我们是怎么一步一步构建起这个实时数据平台的,目前有一些什么新的尝试,未来的方向是怎么样的,希望对需要构建实时数据平台的公司和同学有所借鉴。 一、为什么要做实时数据平台 首先先介绍一下背景,为什么我们要做这个数据平台?其实了解携程的业务

缓存更新的套路

缓存更新的套路

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库 ,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的 。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数

TOMCAT优化

TOMCAT优化

Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化。 一、内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。即使是本

Spring框架在数据处理方面的进化史

Spring框架在数据处理方面的进化史

原文:Evolution of the Spring Framework for Data Processing 作者: Smita Srivastava 翻译:孙薇 导言:本文讲述了Spring数据框架在数据处理以及微服务方面的进化史。 定量分析能否成功,在很大程度上要依赖于其收集、存储与处理数据的能力。如果企业决策者能获得及时、可靠的见解分析,那么大数据项目的成功几率就会

淘宝大秒系统设计详解

淘宝大秒系统设计详解

一些数据 大家还记得2013年的小米秒杀吗?三款小米手机各11万台开卖,走的都是大秒系统,3分钟后成为双十一第一家也是最快破亿的旗舰店。经过日志统计,前端系统双11峰值有效请求约60w以上的QPS ,而后端cache的集群峰值近2000w/s、单机也近30w/s,但到真正的写时流量要小很多了,当时最高下单减库存tps是红米创造,达到

Systemd 入门教程:实战篇

Systemd 入门教程:实战篇

作者: 阮一峰 日期: 2016年3月 8日 上一篇文章,我介绍了 Systemd 的主要命令,今天介绍如何使用它完成一些基本的任务。 一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。

tomcat集群机制剖析及其生产部署选型

tomcat集群机制剖析及其生产部署选型

为什么要使用集群? 为什么要使用集群?主要有两方面原因:一是对于一些核心系统要求长期不能中断服务,为了提供高可用性我们需要由多台机器组成的集群;另外一方面,随着访问量越来越大且业务逻辑越来越复杂,单台机器的处理能力已经不足以处理如此多且复杂的逻辑,于是需要增加若干台机器使整个服务处理能力得到提升。

Node.js背后的V8引擎优化技术

Node.js背后的V8引擎优化技术

文/ 谢骋超 Node.js的执行速度远超Ruby、Python等脚本语言,这背后都是V8引擎的功劳。本文将介绍如何编写高性能Node.js代码。V8是Chrome背后的JavaScript引擎,因此本文的相关优化经验也适用于基于Chrome浏览器的JavaScript引擎。 V8优化技术概述 V8引擎在虚拟机与语言性能优化上做了很多工作。不过按照Lars Bak的说法,

对话架构师:亿级短视频社交美拍架构实战

对话架构师:亿级短视频社交美拍架构实战

一、短视频市场的发展 近几年来,短视频应用在国内应用市场引爆,美图公司推出了美拍,相关的产品还有 GIF 快手、秒拍、微视、逗拍、玩拍等,一系列短视频产品的出现也丰富了短视频应用市场。 短视频的相继爆发,与几个因素有关: 1、带宽,随着中国基础网络环境的发展,越来越多的2G移动网民开始转向使用 3G/4G 网络,从

UPYUN的云CDN技术架构演进之路

UPYUN的云CDN技术架构演进之路

传统 CDN 自 2000 年诞生起,一直到 2010 年还都处在同一个发展阶段,技术并没有得到很大的提升。其中很多还使用 Squid ,一般在全国有 30 – 40 个左右的节点。前几年,移动互联网还没有发展起来时,通过电信和联通节点基本上能覆盖全国的用户,最多 60 个节点就足够了。而从 2010 年开始,移动互联网开始普及,用户量逐

微服务入门:Node.js + Docker + NoSQL

微服务入门:Node.js + Docker + NoSQL

几周前,我曾写过一篇关于基于容器的应用的服务发现的文章,并为已存在的应用提供了一个工具来实现这类工作,并展示了一个动态更新Nginx虚拟主机配置的例子,展示了如何基于容器的变化来更新外部的DNS。本文将会将上述内容整合到一个多层级的应用中用于作为一个微服务架构的蓝图(原型)。本文所述例子的源代码请参考Git

魅族为什么做多机房部署?

魅族为什么做多机房部署?

魅族为什么做多机房部署? 2014年魅族转型,转型之后放弃小而美的发展模式,这个时候用户量达到2500万,这个是比较早的数量,还不包括双11的数量,达到2000万之后,机房扩展出现了一个瓶颈,单机房已经很难满足需求了。 魅族不就是做手机的 魅族的应用商店,日PV2.5亿;在线引用,日PV2.3亿;用户数据同步,即包括联系人

网络服务器开发总结

网络服务器开发总结

原文:http://my.oschina.net/u/181613/blog/596022 网络服务器开发总结     一、概述 经过多年网络服务器开发实战,于此总结实践体会。本文涉及到异步连接、异步域名解析、热更新、过载保护、网络模型与架构及协程等,但不会涉及accept4、epoll等基本知识点。     二、可写事件 相信大多数初学者都

Netty 5用户指南

Netty 5用户指南

原文地址:http://netty.io/wiki/user-guide-for-5.x.html    译者:光辉勇士      校对:郭蕾 前言 问题 现如今我们使用通用的应用程序或者类库来实现系统之间地互相访问,比如我们经常使用一个HTTP客户端来从web服务器上获取信息,或者通过web service来执行一个远程的调用。 然而,有时候一个通用的协议和他的实现

在云上搭建大规模实时数据流处理系统

在云上搭建大规模实时数据流处理系统

在大数据时代,数据规模变得越来越大。由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集、管理和处理。本文主要介绍如何在阿里云上使用Kafka和Storm搭建大规模消息分发和实时数据流处理系统,以及这个过程中主要遭遇的一些挑战。实践主要立足建立一套汽车状态实时监控系统