自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

转载 为什么说架构是一种思维模式

架构是一个动词,还是一个名词?可以组合的词汇有:架构设计、架构师,我认为,架构是动态的,演进的。词典中是这样解释架构的,人们对一个结构内的元素及元素间关系的一种主观映射的产物。也可指构筑,建造。我理解架构本身不仅仅是指这个结果(成品),同时架构亦可以理解为建造的过程。架构是一种思维模式。架构师是一个title。为什么说架构是一种思维模式呢,小到一个模块,大到一个平台,高内聚低耦合、隔离、层

2016-02-29 11:46:12 2894

转载 知乎CTO谈知乎的架构变迁史

很多人还不知道,知乎在规模上是仅次于百度贴吧和豆瓣的中文互联网最大的UGC(用户生成内容)社区。知乎创业三年来,从0开始,到现在已经有了100多台服务器。目前知乎的注册用户超过了1100万,每个月有超过8000万人使用;网站每个月的PV超过2.2亿,差不多每秒钟的动态请求超过2500。初期架构选型在2010年10月真正开始动手做知乎这个产品时,包含李申申在内,最初只有两位工程师;到2010

2016-02-29 11:44:55 1696 1

转载 最头疼的遗留系统该如何改造?

随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务(Microservices)逐渐成为系统架构的一个代名词。那么微服务是否是业界期待已久的企业架构解决方案?在对遗留系统进行微服务的改造过程中存在怎样的困难和挑战,应该注意些什么?在该分享中,王磊将通过实际的案例,跟大家探讨使用微服务改造遗留系统的实践之路。什么是微服务微服务的诞生背景遗留系统的微服务改造策略微服务改

2016-02-29 11:44:05 2242

转载 大型网站架构系列:分布式消息队列

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少

2016-02-29 11:43:01 505

转载 架构师和开发团队应该如何协作?组织架构怎么设置最好?

软件架构构成了一个系统的骨架。它定义了当面对不同的功能性和非功能性需求时的系统行为。一方面,传统瀑布式方法对项目开发的所有阶段提出了硬性约束要求,因此传统瀑布式方法显得僵化。另一方面,敏捷运动让我们拥抱改变,即使是处于开发阶段后期的改变。尽管我们正推动自己从僵化的开发模式迈向更灵活的模式,软件架构由于其系统骨架的定位,天然地对变化敏感。因此关键之处在于,敏捷运动拥抱的软件架构必须是可持续的——具备

2016-02-29 11:41:09 5148

转载 架构师不写代码,怎能知道技术的痛点?

背景什么是架构师?业内一直没有定论,在前两天『聊聊架构』群的讨论中,来自各大互联网公司的架构师都对自己的工作内容做了总结,然我们还是没有抽象出架构师的定义。反而引来了跟多的问题,比如:1. 架构师应该写代码吗?2. 架构师有分类吗?3. 好的应用应该包含哪些特点?什么才是好的应用系统?4. 对于架构师,有哪些能力要求?5. 怎么才是完整的方案? 怎么写出完整甚至完美的方案?

2016-02-29 11:39:37 2481

转载 基于用户画像大数据的电商防刷架构

一、背景介绍最近1~2年电商行业飞速发展,各种创业公司犹如雨后春笋大量涌现,商家通过各种活动形式的补贴来获取用户、培养用户的消费习惯。但任何一件事情都具有两面性,高额的补贴、优惠同时了也催生了“羊毛党”。“羊毛党”的行为距离欺诈只有一步之遥,他们的存在严重破环了活动的目的,侵占了活动的资源,使得正常的用户享受不到活动的直接好处。今天主要分享下腾讯自己是如何通过大数据、用户画像、建模

2016-02-29 11:38:53 914

转载 App创业的“Fast IPO法则”

App创业的“Fast IPO法则”:Fast Idea:将产品快速功能分期,做出基础版本原型Fast Project:通过合适的开发工具,快速技术实现完毕。Fast Operation:快速推广,获得第一批用户。

2016-02-25 14:44:31 361

转载 开发者“Time To Market”的六大准则

6个准则:Fast To Develop(开发)Fast To Device(适配)Fast To Extend(扩展)Fast To Innovate(创新)Fast To Release(发布)Fast To Update(更新)说明:1. Fast To Develop -- App(手持终端)通过APICloud不需要掌握ObjectC和Java,只需要通过Html5+

2016-02-25 14:43:08 2910

转载 我的macbook应用清单

1.摘要最近老是有人问我mac下有没有什么好应用推荐,于是就有了这篇日志。主要是工作中用到的各类应用,顺便跪求推荐新应用。2.关于2.1.要不要买mac不买:需要用到仅在windows下才有的工具玩游戏较多工作环境里没其它人用mac没钱除了上面的几条,建议买mac,一步到位不折腾。2.2.买啥型号开会多:air或macbook开发多:mbp13″中配

2016-02-23 16:44:56 1085

转载 基于Solr的淘宝商家交易数据实时查询方法

DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的特点,用户会使用多维度随意组合条件快速召回数据。数据处理业务场景需要实时性,需要能够快速精准的获得到需要的数据。之前的通过数据库的方式来处理数据的方式,由于数据库的某些固有特性已经很难满足大数据时代对前言DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的

2016-02-23 16:43:55 2410

转载 支撑微博千亿调用的轻量级RPC框架:Motan

“2013 年微博 RPC 框架 Motan 在前辈大师们(福林、fishermen、小麦、王喆等)的精心设计和辛勤工作中诞生,向各位大师们致敬,也得到了微博各个技术团队的鼎力支持及不断完善,如今 Motan 在微博平台中已经广泛应用,每天为数百个服务完成近千亿次的调用。” —— 张雷随着微博容器化部署以及混合云平台的高速发展,RPC 在微服务化的进程中越来越重要,对 RPC 的需求也产生了一

2016-02-23 16:42:30 483

转载 LinkedIn的架构演进之路

自2003年创立至今,LinkedIn全球用户数已经从第一周的2700增长到了现在的3个多亿。它每天每秒都要提供成千上万的网页请求,而且移动账户已经占据了全球50%的流量。所有这些请求都是从他们的后台系统获取数据,而这个后台系统每秒需要处理数以百万计的查询。LinkedIn高级工程经理Josh Clemm撰文介绍了LinkedIn架构10多年来的演进。Leo最开始的时候,LinkedIn是一个

2016-02-23 16:41:32 529

转载 单表60亿记录等大数据场景的MySQL优化和运维之道

前言MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视。MySQL历史1979年,Monty Widenius写了最初的版本,96年发布1.01995-2000年,MySQL AB成立,引入BDB2000年4月,集成MyISAM和replication2001年,Heikki Tuuri向MySQL建议集成InnoDB2003发布5.0

2016-02-23 16:40:40 627

转载 关于烂代码的那些事 – 评价代码优劣的方法

“代码重复分为两种:模块内重复和模块间重复。无论何种重复,都在一定程度上说明了程序员的水平有问题。”  —— 秦迪这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 在发布了关于烂代码的那些事(上)之后(参看文末链接),发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。最近部门在组织 bootcamp,正好我

2016-02-23 16:39:14 4925 1

转载 亿级短视频社交美拍架构实战

“在美拍的服务化过程中,主要基于 etcd 来实现我们的动态服务发现和配置服务,在 client 层面扩展实现了包含负载均衡、心跳、节点健康状态探测、etcd 节点挂掉的灾备等基础功能,同时会通过一些 metrics 埋点,以便跟踪内部的状态,用统一的 trace_id 来跟踪服务的链路调用情况。” —— 麦俊生一、短视频市场的发展近几年来,短视频应用在国内应用市场引爆,美图公司推出了美拍

2016-02-23 16:36:20 492

转载 从100PV到1亿级PV网站架构演变

一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。1:积累是必不可少的架构师不是一天练成的。1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE

2016-02-23 16:34:21 524

转载 做技术的你,如果别人找你创业,该怎么办?

这是一页纸商业计划书 (Business Plan) 模板。由于技术背景的原因,每结交认识一位新朋友,无论是之前在国内还是先在在英国,都会跟我说:我有一个 business idea 你花时间帮我做出来,过几年我们都会成为亿万富翁。每当这时,我都笑笑,也不知道该如何回应。一般我会说我考虑一下,做一些市场调研。直到发现这个商业计划书模板。这下好了,我可以说先给你个 BP 模板,你再仔细考

2016-02-23 14:42:25 323

转载 玩转 Varnish 缓存代理

Varnish 是互联网架构中重要的缓存代理组件。Varnish 一般跑在流量入口处,作为最前端一道防御,非常重要。虽然 Varnish 并不像 Nginx 那么流行。Varnish 就像 Nginx 一样稳定高效,如果使用得当,能极大提升整体服务性能、并且降低资源消耗。常见互联网架构中的多级缓存将内容推送到用户身边的 CDN 缓存类似 Varnish 的缓存代理应用层缓存 Red

2016-02-23 10:56:49 518

转载 应用性能优化: 如何将应用延迟降低为 0 ms

之前已经提过通过 Varnish 缓存进行网站性能优化,以及延迟对商业的影响。经历过太多这样的问题分析和定位过程:某大型网站的 Redis 集群的机器负载每几十分钟出现一个超越平时几十倍大的高峰,结果是因为这些实例每几十分钟对所有数据进行写盘持久化。某大型媒体网站的 MySQL 读流量异常大,结果是因为每个读操作都携带了 2MB 的页面初始化信息。这个 BUG 修正的直接结果不仅仅是降

2016-02-23 10:56:07 1129

转载 App架构设计经验谈:展示层的设计

三层架构中,数据层和业务层都已经做过了简单的分享,最后,就剩下展示层了。本篇就给各位分享下我在展示层设计方面的一些经验心得。展示层是三层架构中最复杂的一层了,需要考虑的包括但不限于界面布局、屏幕适配、文字大小、颜色、图片资源、提示信息、动画等等。展示层也是变化最频繁的一个层面,每天改得最多的就是界面了。因此,展示层也是最容易变得混乱不堪的一个层面。一个良好的展示层,应该有较好的可读性、健壮性、

2016-02-23 10:54:02 1558

转载 App架构设计经验谈:业务层的设计

业务层其实并不复杂,但是大部分开发人员对其职责并没有理解清楚,从而使其沦落为一个数据中转站。我之前分享过的Android项目重构之路系列中提到的核心层,其实就是这里所讲的业务层。但有不少读者反映,他们在实际项目中就只是做一下参数检查,然后直接调用API,与展示层对接的接口基本也与API的接口一致的。这样,业务层无疑就已经变为了一个数据中转站。业务层的职责所以,设计业务层之前,对业务层的职责

2016-02-23 10:53:17 847

转载 App架构设计经验谈:数据层的设计

一个App,从根本上来说,就是对数据的处理,包括数据从哪里来、数据如何组织、数据怎么展示,从职责上划分就是:数据管理、数据加工、数据展示。相对应的也就有了三层架构:数据层、业务层、展示层。本文就先讲讲数据层的设计。数据层,是三层架构中的最底层,负责数据的管理。它主要的任务就是:调用网络API,获取数据;将数据缓存到本地;将数据交付给上一层。根据这三个任务,数据层可以再拆分为三层:网

2016-02-23 10:51:08 2475

转载 App架构设计经验谈:技术选型

当你做架构设计时,必然会面临技术选型的抉择,不同的技术方案,架构也可能完全不同。有哪些技术选型需要做决策呢?比如,App是纯原生开发,还是Web App,抑或Hybrid App?iOS开发,语言上是选择Objective-C还是Swift?架构模式用MVC,还是MVP,或者MVVM?下面根据我的一些经验对某些方面做点总结分享。原生/H5关于用原生好,还是用H5好的争论从没间断过。但我觉得

2016-02-23 10:50:19 541

转载 App架构设计经验谈:接口的设计

App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉。安全机制的设计现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程是:用户用密码登录

2016-02-23 10:49:21 381

转载 端游、手游服务端常用的架构是什么样的

DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的特点,用户会使用多维度随意组合条件快速召回数据。数据处理业务场景需要实时性,需要能够快速精准的获得到需要的数据。之前的通过数据库的方式来处理数据的方式,由于数据库的某些固有特性已经很难满足大数据时代对前言DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的

2016-02-19 15:02:34 1638

转载 大型网站图片服务器架构的演进

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足,造成后期架构上很难兼容和扩展)。本文将以一个真实垂直门户网站的发展历程,向大家娓娓道来。构建在Windows平台之上的网站,往往会被业内众多技术认为很“保守”,甚至会有点。很大

2016-02-19 14:59:13 382

转载 每个架构师都应该研究下康威定律

背景今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前的工作过的公司eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨论。今天聊的话题主要包括以下几点

2016-02-19 14:53:49 678

转载 从技术细节看美团的架构

很多人认为,电商都没有什么技术含量,电商没有什么门槛,入门的门槛并不高,电商很痛苦,需要不停地去扫街,不停地去拜访各个商家,要在用户和商家之间拉客接客。国内曾经出现的团购类网站有6400多家,到四年多以后的现在,美团已经是成为国内最大的本地生活服务平台,不管怎么说,现在美团在这些电商,至少团购类的电商里边是走的比较成功的,如果说电商真的是没有门槛,那难道说美团走到现在是因为幸运吗?那必然不是因

2016-02-19 14:51:42 7608

转载 物联网架构

物联网架构下面的架构图是对我们观点的高度概括。其中,很容易找到与物联网网关连接的所谓边缘设备。一般情况下,网关会将设备所传输的任何硬件与供应商特定协议转化为一致而更易集成的东西,方便在集成时使用,类似TCP和任何顶端的标准化信息协议之类的。一直只有一个网关吗?这个网关只使用硬件特定协议吗?两者的答案都是否定的。在不同位置上可能会有各种类型的多个网关,如果边缘设备足够智能的话,其中一些甚

2016-02-19 14:45:22 567

转载 大型网站架构技术一览

网站系统架构层次如下图所示:1.前端架构前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。浏览器优化技术并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。CDN内容分发网络,部署在网络运营商机房,通过将静态页面内容分发到离用户最近最近的CDN服务器,使用户

2016-02-19 14:41:25 618

转载 来自Uber的12条架构重构经验

对于开发者来说,架构设计是软件研发过程中最重要的一环,所谓没有图纸,就建不了房子。在遍地App的互联网时代,架构设计有了一些比较成熟的模式,开发者和架构师也可以经常借鉴。但是,随着应用的不断发展,最初的架构往往面临着各种问题,比如无法满足客户的需求、无法实现应用的扩展、无法实现新的特性等等。在这种情况下,我们如何避免一些坑,尽量比较成功地实现架构的重构,是很多开发者和架构师亟需解决的问题。

2016-02-19 14:38:39 238

转载 迁云架构实践

云计算作为信息技术领域的一种创新应用模式,自其诞生以来一直备受关注。由于其具备低成本、弹性、易用、高可靠性、按需服务等特点,近年来被看作是新一代信息技术变革和商业模式变革的核心。互联网、游戏、物联网等新兴行业纷纷积极拥抱云计算,对大部分企业用户来说,受限于传统IT技术架构的束缚,往往缺乏迁移到云计算的动力和技术实现参考。      传统IT架构的技术特点和面临的问题 

2016-02-19 14:36:58 1515 1

转载 如何正确配置Nginx+PHP

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴。听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价。假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由。此时很多教程会

2016-02-19 10:19:04 247

转载 PHP 底层的运行机制与原理

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能

2016-02-19 10:16:17 189

转载 PHP 性能优化

序php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。我的这篇文章,我只是希望能够提高你的php脚本性能。请记住你的php脚本性能,很多时候依赖于你的php版本、你的web server环境和你的代码的复杂度。优化你代码中的瓶颈Hoare曾经说过“过早优化是一切不幸的根源”。当你想要让你的网站更快运转的时候,

2016-02-19 10:11:19 227

转载 关于PHP程序员解决问题的能力

在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决问题能力

2016-02-19 10:08:13 219

转载 PHP编程中10个最常见的错误

错误1:foreach循环后留下悬挂指针在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法:$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8)

2016-02-19 10:05:52 380

转载 15个超有用的正则表达式

15个超有用的正则表达式,WEB开发人员都应该将它收藏到自己的工具包。验证域名检验一个字符串是否是个有效域名。$url= "http://komunitasweb.com/";if(preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i'

2016-02-19 09:58:11 744

转载 详谈京东的商品搜索系统架构设计

京东商品搜索引擎是搜索推荐部自主研发的商品搜索引擎,主要功能是为海量京东用户提供精准、快速的购物体验。虽然只有短短几年的时间,我们的搜索引擎已经经过了多次618店庆和双11的考验,目前已经能够与人们日常使用的如谷歌、百度等全文搜索引擎相比,我们的产品与其有相通之处,比如涵盖亿级别商品的海量数据、支持短时超高并发查询、又有自己的业务特点:海量的数据,亿级别的商品量;高并发查询,日PV过亿;请

2016-02-17 16:10:47 5231

ThinkPHP_基于角色的权限控制

ThinkPHP_基于角色的权限控制 ThinkPHP_基于角色的权限控制 ThinkPHP_基于角色的权限控制

2012-07-27

空空如也

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

TA关注的人

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