自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构文摘

每天一篇架构领域重磅好文,涉及一线互联网公司的互联网应用架构、大数据、机器学习等各个热门领域。

  • 博客(25)
  • 收藏
  • 关注

转载 谈谈网站架构设计开发的一些来龙去脉

这篇就当成最近研究网站架构问题的一个小小的总结记录,当然肯定不全面,这个领域很大的。后面如果有新的认知,继续补充说明。但是核心的概念和基本原理搞明白就好办,剩下的就是工具应用和开发细节问题了。不过,“细节出魔鬼”,可别以为架构师的活好做。架构这个问题怎么出现的?当然是信息社会从单机时代推进到网络时代的产物。单机时代,大家一般买台PC,装个Windows,自己捣鼓着玩。各种应用基本都是隔离的。如果你

2017-12-31 00:00:00 614

转载 React同构与极致的性能优化

前言随着React的兴起, 结合Node直出的性能优势和React的组件化,React同构已然成为趋势之一。享受技术福利的同时,直面技术挑战,在复杂场景下,挑战10倍以上极致的性能优化。什么是同构?一套代码既可以在服务端运行又可以在客户端运行,这就是同构应用。简而言之, 就是服务端直出和客户端渲染的组合, 能够充分结合两者的优势,并有效避免两者的不足。为什么同构?性能: 通过Node直出, 将传统

2017-12-30 00:00:00 791

转载 智能合约的可升级改造实践

背景起因近期开发基于以太坊的智能合约,为实验室的分布式电商系统提供可信的“第三方信用担保”功能。由于初期项目需求变动会比较频繁,并且智能合约一经发布于区块链上就无法修改,即使智能合约中有Bug需要修复或者业务逻辑变更,它也不能直接在原有的合约上直接修改再重新发布。因此在即将发布第一版之前,需要结合业务场景考虑合理的升级改造机制。初版的智能合约主要包括如下功能:1. 买家创建订单,合约记录订单基本信

2017-12-29 00:00:00 1844

转载 storm如何分配任务和负载均衡?

基础组件之间的关系这里做一些补充:1. worker是一个进程,由supervisor启动,并只负责处理一个topology,所以不会同时处理多个topology.2. executor是一个线程,由worker启动,是运行task的物理容器,其和task是1 -> N关系.3. component是对spout/bolt/acker的抽象.4. task也是对spout/bolt/acker的抽

2017-12-28 00:00:00 1492

转载 你真的很熟分布式和事务吗?

微吐槽hello,world.不想了,我等码农,还是看看怎么来处理分布式系统中的事务这个老大难吧!本文略长,读者需要有一定耐心,如果你是高级码农或者架构师级别,你可以跳过。本文注重实战或者实现,不涉及CAP,略提ACID。本文适合基础分布式程序员:1. 本文会涉及集群中节点的failover和recover问题.2. 本文会涉及事务及不透明事务的问题.3. 本文会提到微博和tweeter,并引出一

2017-12-27 00:00:00 821

原创 《阿里巴巴Java开发手册》:阿里官方Java代码规范标准(抽五人送出)

规范了Java开发准则与代码编写习惯将直接影响Java从业者、求职者和在校相关专业大学生等逾百万的计算机相关人群以阿里的技术底蕴,以一个独特的视角地成为影响到世界的经典计算机图书对Java教育教学产生深远影响对社会贡献及深远影响不可估量内容提要《阿里巴巴Java开发手册》的愿景是码出高效,码出质量。它结合作者的开发经验和架构历程,提炼阿里巴巴集团技术团队的集体编程经验和软件设计智慧,浓缩成为立体的

2017-12-26 00:00:00 5799

转载 王者荣耀高并发背后的故事

【摘要】堪称中国最火爆的手机游戏“王者荣耀”,拥有亿级用户体量,千万级日活用户,如何快速、低成本地保障业务突发?本文从该问题出发,论述了问题对应的解决方案,并对其效果做出总结。背景“王者荣耀”是一款国民级手机游戏,用户体量巨大,而且一直保持着较高的更新频率。这种业务场景下,突发也变得非常频繁,然而业务体验是至关重要的,使用CDN必不可少。类似地,经常有带宽突发的场景,比如新闻爆点视频、大型直播活动

2017-12-25 00:00:00 1622

转载 微信C2C渐进式图片流式传输系统简介

在微信C2C图片服务中,用户体验一直是第一位的,由架构平台部研发的微信C2C后台系统,也一直在用户体验上深入研究,经过多次技术数据的验证,采用渐进式格式,和产品体验的巧妙结合,可以大大的降低用户的体验时延,接下来会详细介绍我们的应用过程。一、渐进式图片JPG图片支持两种编码方式:基线式(baseline)和渐进式(progressive)。业界应用最广泛的是基线式,因为它编解码计算开销小,实现比较

2017-12-24 00:00:00 480

转载 基于空闲资源的弹性计算实践

项目背景微信,QQ,空间等用户每天上传了海量图片及视频,图片上传下载时需压缩,视频播放前需转码;AI热潮兴起后,围棋,游戏等对弈数据的生成需要大量的计算能力;计算成本逐步成为不可承受之重。同时由于公司业务的多样化,难以均衡用满各类资源;现网服务器主要承载在线业务,有明显的波峰波谷效应;同时设备购买,裁撤,流转形成了大量的短期空闲设备,公司整体资源利用并不充分,故架平虚拟化团队建设了弹性计算平台,致

2017-12-23 00:00:00 450

转载 微信支付兴起,万亿级用户交易记录存储的挑战

背景:2013年8月,微信红包上线。2014年春节微信红包引爆社交支付。2015年春晚红包摇一摇,推动微信红包在全国迅速普及。此后,每逢节假日或特殊日子,人们都会自主的兴起发红包,使微信红包成为热点。微信红包的火热带动微信支付的迅猛发展,按当时的发展速度预估,到2015年底,每天的微信支付交易记录会达到20亿。而原有的用户交易记录存储系统无法承受业务迅猛发展带来的冲击,一些瓶颈逐渐凸显出来。本文将

2017-12-22 00:00:00 3978

转载 基于Nginx负载均衡方案

项目背景公司一直使用商用负载均衡(LB),基于以下几点原因考虑用开源产品来替代:价格昂贵,HTTPS支持并发数太低技术门槛比较高,学习成本大技术Bug修复方面都太慢商用产品在新功能技术支持方面(如H2,protocol_proxy支持)滞后技术选型主要调研了lvs/haproxy/nginx这三种开源产品在四层负载方面功能特性,新LB方案水平扩展相对容易,选型阶段主要考察功能支持情况,情况如下:综

2017-12-21 00:00:00 695

转载 成神攻略 | 深聊DBA架构师成长进阶之路

SDCC系列峰会各站在技术圈遍地花开之余,主办方CSDN为了更好地服务技术开发者并拓展受众,同步启动SDCC 2017系列之线上峰会——线上线下双管齐下,一举打破地域限制,内容为基,便捷加成,带来更友好的听众体验。数据库作为最关键的基础设施,渗透技术领域的方方面面。随着互联网应用的广泛普及,海量数据的存储及访问成为系统设计的一大痛点。随着各行各业对信息化管理的依赖日益加剧,企业对数据访问的连续性提

2017-12-20 00:00:00 1153

转载 前端UI框架小汇总

【前言】近期,小弟根据GitHub、前端社区、掘金等平台对当前流行的前端UI框架的进行了小小的整理和汇总(ps:前端UI框架的应用是通过GitHub star数,社区热度和使用范围等进行的粗略的汇总【不分先后】)。希望对寻找UI框架的小伙伴们提供点帮助。  以下对前端UI框架的移动端、PC端和混合APP的应用进行了列举。 移动端UI框架Mint UI(饿了么团队)  中文官网:http://min

2017-12-19 00:00:00 7362

转载 12年经验老程序员的5次转型

【编者按】本文作者是《Qt Quick核心编程》、《程序员的成长课》等图书的作者安晓辉。他在 12 年软件开发历程中实践了 5 次转型,经历过普通程序员、项目经理、研发经理、创业公司技术负责人、自由职业者等角色,对大多数程序员都有参考意义。程序员的职场生涯,会遭遇 4 大绝命难题:1. 怎么选择技术方向(才能赚更多钱)?2. 要不要转管理?3. 年龄大了,如何拼过年轻人,保持竞争力,避免被淘汰?4

2017-12-18 00:00:00 916

转载 推荐系统之用户行为分析

用户行为介绍基于用户行为的推荐,在学术界名为协同过滤算法。 协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使 自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)和隐性反馈 行为(implicit feedback)。显性反馈行为包括用户明确表示对物品喜好的行为:主要方式就是评分

2017-12-17 00:00:00 6084

转载 流计算框架 Flink 与 Storm 的性能对比

1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的可靠性保证测试:https://tech.meituan.com/test-of-storms-reliability.html),有管理平台、常用 API 和相应的文

2017-12-16 00:00:00 1344

转载 不再谷满谷,坑满坑,看苏宁库存架构转变

前言2017双11大促刚刚过去,苏宁易购交易系统的请求量和订单量在双11当日呈现指数级的增长,更是实现了7秒破亿的最快破亿记录,苏宁易购交易系统在大促期间平稳运行,完美度过双11。作为苏宁易购交易系统负责人,我给大家介绍一下交易核心系统之一,库存系统的架构演进与实践,并介绍库存系统是如何筹备和应对双11的流量洪峰的。本文推荐架构师、技术经理、开发工程师、技术总监等群体阅读,希望能够让大家受益。库存

2017-12-15 00:00:00 1352

转载 ELK + Filebeat 搭建日志系统

Elasticsearch分布式搜索和分析引擎。具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。Logstash日志收集器。搜集各种数据源,并对数据进行过滤、分析、格式化等操作,然后存储到 Elasticsearch。Kibana数据分析和可视化平台。与 Elasticsearch 配合使用,对其中数据进行搜索、分析、

2017-12-14 00:00:00 1291

转载 近期重构工作的一点收获

更新:关于重构后增加的 bug 数量大家就不用多心了? 我在团队是担任移动端 Leader 的,如果有重大失误,应该早就被拉出去祭天了吧。重构工作是两个月以前了的,结合这两个月的 issue 列表来看,引入的 bug 不多,最近在统计自己都做了什么工作,所以才把这篇文章分享出来。以前做个人项目的时候,简历上写过重构了三次,后来在扇贝面试的时候,面试官问三次分别重构了什么,仔细想想那时候的重构

2017-12-13 00:00:00 288

转载 谈谈微服务中的 API 网关(API Gateway)

在本篇文章中,我们就一起来探讨一下 API 网关在整个微服务分布式架构中的一个作用。背景我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api 风格的接口来被 H5, Android, IOS 以及第三方应用程序调用。但是在UI上进行展示的时候,我们通

2017-12-12 00:00:00 1460

转载 一个架构师谈什么是架构以及怎么成为一个架构师

架构的定义先来看看软件架构的普遍定义吧。一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够:分析设计在满足规定需求方面的有效性。在设计变更相对容易的阶段,考虑体系结构可能的选择方案。

2017-12-10 00:00:00 308

转载 从银行转账失败到分布式事务:总结与思考

思考这个问题的初衷,是有一次给朋友转账,结果我的钱被扣了,朋友没收到钱。而我之前一直认为银行转账一定是由事务保证强一致性的,于是学习、总结了一下分布式事务的各种理论、方法。事务是一个非常广义的词汇,各行各业解读都不一样。对于程序员,事务等价于Transaction,是指一组连续的操作,这些操作组合成一个逻辑的、完整的操作。即这组操作执行前后,系统需要处于一个可预知的、一致的状态。因此,

2017-12-09 00:00:00 727 1

转载 浅谈重构中踩过的坑

最近重构了公司一个将近10年的核心功能模块,踩了不少坑。在做这个重构的时候好几次都觉得做不下去,好几次压力都非常大,心想着我该不会做着做着就退出编程届了吧。不过还好,自己还是坚持下来了,回想写这个项目的时候自己曾三次推翻重来,那种心路历程真的只有经历了才知道,真是煎熬。后来回想起这一路踩过的坑,其实更多的是经验问题,而不是技术方面的问题。关于心态回顾做这个项目,

2017-12-08 00:00:00 374

转载 分布式、服务化的ERP系统架构设计

ERP之痛曾几何时,我混迹于电商、珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP)。作为一个ERP系统,系统主要功能模块无非是订单管理、商品管理、生产采购、仓库管理、物流管理、财务管理等等。作为一个管理系统,大家的一般开发习惯就是使用.Net或Java技术,建立一个单块(单进程)架构的应用,只有一个SQLServer或MySql数据库。然后在项目文件中分一下各个模块,三层结

2017-12-07 00:00:00 434

转载 干货 | 分布式架构系统生成全局唯一序列号的一个思路

一、相关背景分布式架构下,唯一序列号生成是我们在设计一个系统,尤其是数据库使用分库分表的时候常常会遇见的问题。当分成若干个sharding表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。在携程账号数据库迁移MySQL过程中,我们对用户ID的生成方案进行了新的设计,要求能够支撑携程现有的新用户注册体量。本文通过携程用户ID生成器的实现,希望能够对大家设计分

2017-12-06 00:00:00 364

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除