自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

畅聊架构

架构师之路,聊接地气的架构方案

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

转载 交互设计之架构真经

建立信息架构是交互设计师主要工作之一,是需求转向交互稿中非常重要的过程。一个架构的好坏决定这这个产品未来的命运,只有具有一个好的信息架构,才会具有一个好的产品体验。以下将...

2018-06-04 12:05:00 442 1

转载 跨平台长连接组件设计及可插拔改造

背景我们在提出开发跨平台组件之前, iOS 和 Android 客户端分别使用一套长连接组件,需要双倍的人力开发和维护;在产品需求调整上,为了在实现细节上保持一致性也具有...

2018-06-01 10:00:00 423

转载 微服务之基于Docker的分布式企业级实践

前言基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 DevOps,也见证了 Docker 的技术体系的快速发展。本...

2018-05-31 17:50:34 347 1

转载 系统拆分及结构演变

前段时间在部门内部做一次分享,考虑到部门新人比较多,经过梳理决定结合自己的经验,讲讲系统是如何经过一系列演变成现在的分布式、服务化的。随着业务的复杂性增大、系统吞吐量增长...

2018-05-30 08:46:00 445

转载 微服务之基于Docker的分布式企业级实践

前言基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 DevOps,也见证了 Docker 的技术体系的快速发展。本...

2018-05-29 08:00:00 493 1

转载 ElasticSearch的数据统计

平台内的产品有一个数据分析,统计平台内某个商户某个时间段内(今天、昨天、7天内、30天内……)的各种数据分析,这种分析显然用MySql的count、sum、GroupBy...

2018-05-28 10:46:00 2296 1

转载 从单车到飞船的SQL优化之旅


 

 

 
 
 背景一小时过去了,老师将体系结构原理上完了……未优化前,单车慢悠悠55秒第一招:绑定变量,单车变摩托...

2018-05-22 15:58:27 367

转载 大型分布式电商系统架构是如何从 0 开始演进的?


 

 

 
 
      本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网...

2018-05-21 21:23:31 421 1

转载 关于单点登录原理与简单实现,写的太好了一看就懂!

一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,...

2018-04-18 14:53:15 769 1

转载 关于单点登录原理与简单实现,写的太好了一看就懂!

一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合

2018-01-12 20:45:02 1906

转载 文本识别 OCR 浅析:特征篇

不管是为了学术研究还是实际应用,都有必要对OCR技术进行探究和改进。研究背景关于光学字符识别(Optical Character Recognition, 下面都简称OCR),是指将图像上的文字转化为计算机可编辑的文字内容,众多的研究人员对相关的技术研究已久,也有不少成熟的OCR技术和产品产生,比如汉王OCR、ABBYY FineReader、Tesseract OCR等. 值得一提的是,ABBY

2018-01-10 00:00:00 3596

转载 文本识别 OCR 浅析:特征篇

不管是为了学术研究还是实际应用,都有必要对OCR技术进行探究和改进。研究背景关于光学字符识别(Optical Character Recognition, 下面都简称OC...

2018-01-10 00:00:00 619

转载 多种负载均衡算法及其Java代码实现

首先给大家介绍下什么是负载均衡(来自百科)负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web 服务器、 FTP服务器、 企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 本文讲述的

2018-01-07 00:00:00 483

转载 多种负载均衡算法及其Java代码实现

首先给大家介绍下什么是负载均衡(来自百科)负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能...

2018-01-07 00:00:00 190

转载 ELK + Filebeat 搭建日志系统

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

2018-01-06 00:00:00 692

转载 ELK + Filebeat 搭建日志系统

Elasticsearch分布式搜索和分析引擎。具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析...

2018-01-06 00:00:00 268

转载 全文搜索引擎Elasticsearch入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操

2018-01-05 00:00:00 11816 1

转载 全文搜索引擎Elasticsearch入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Sta...

2018-01-05 00:00:00 230

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

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

2018-01-02 00:00:00 5845

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

基础组件之间的关系这里做一些补充:1. worker是一个进程,由supervisor启动,并只负责处理一个topology,所以不会同时处理多个topology.2. ...

2018-01-02 00:00:00 391

转载 谁说 Java 要过时?2017 年 Java 大事件一览及未来前瞻

在过去的一年中,Java 历经了许多变化。在今年年初,Java EE 处于一个不确定的状态,Java 9 版本也推迟了它的发布日期。在 2016 年的 JavaOne 上,甲骨文宣布了解决平台的计划和 Java SE 9 和 OpenJDK 9 的相关信息。2017 年 Java 大事件回顾一、JCP EC 投票通过 Java 模块化系统2017年6月,Java Community Process

2018-01-01 00:00:00 7820

转载 阿里开源了14个核心技术,你了解哪些?

自从2011年宣布第一波开源项目以来,阿里技术人一直积极参与开源社区共建。开源项目数量每年都有所增长,目前阿里巴巴已经有150+个开源项目,其中数个项目 star  破万。相关的 GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围 GitHub 顶尖贡献名单的中国公司。在开源中国举行的“2017年度最受欢迎中国开源软件Top20”的评选中,阿里巴巴占据五席位。 其实,阿里巴巴并没有开源项

2018-01-01 00:00:00 802

转载 阿里开源了14个核心技术,你了解哪些?

自从2011年宣布第一波开源项目以来,阿里技术人一直积极参与开源社区共建。开源项目数量每年都有所增长,目前阿里巴巴已经有150+个开源项目,其中数个项目 star  破万...

2018-01-01 00:00:00 262

转载 谁说 Java 要过时?2017 年 Java 大事件一览及未来前瞻

在过去的一年中,Java 历经了许多变化。在今年年初,Java EE 处于一个不确定的状态,Java 9 版本也推迟了它的发布日期。在 2016 年的 JavaOne 上...

2018-01-01 00:00:00 225

转载 线程池管理工具 ThreadPoolExecutor 详解

摘要: 本文讲解了 ThreadPoolExecutor 的主要 api,线程池调度方式,以及核心方法的实现原理ThreadPoolExecutor顾名思义,是一个线程池管理工具类,该类主要提供了任务管理,线程的调度和相关的hook方法来控制线程池的状态。1.方法说明任务管理主要方法如下:上述方法中,execute()和submit()方法在有空闲线程存在的情况下会立即调用该线程执行任务,区别在于

2017-12-31 00:00:00 441

转载 线程池管理工具 ThreadPoolExecutor 详解


 

 

 
 
 摘要: 本文讲解了 ThreadPoolExecutor 的主要 api,线程池调度方式,以及核心方...

2017-12-31 00:00:00 787

转载 唯品会双11大促技术保障实践

每年双11是国内各大电商贴身肉搏,激烈交锋的时刻,同时也是把几十天的交易量浓缩到一天释放的日子。为了准备双11的大促,各家都会在营销、促销、技术保障、物流、售后、客服等各个环节付出相当大的努力。唯品会作为中国第三大电商公司,自然也会在这场盛宴中付出自己的努力,收获应有的成绩。第一章:夯实基础,梳理业务唯品会是一家专注于特卖闪购的电商公司。业务系统为了支撑特卖的场景,在业务架构上有一些鲜明的特点:购

2017-12-30 00:00:00 536

转载 唯品会双11大促技术保障实践


 

 

 
 
 每年双11是国内各大电商贴身肉搏,激烈交锋的时刻,同时也是把几十天的交易量浓缩到一天释放的日子。为了...

2017-12-30 00:00:00 253

转载 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

1 概述初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案。Nginx 是一个高性能的 HTTP反向代理服务器Keepalived 是一个基于VRRP协议来实

2017-12-29 00:00:00 345

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

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

2017-12-28 00:00:00 556

转载 MyBatis

MyBatis作为一个轻量的SQL映射框架,确实很简单,但是知识点挺多,实际使用中还是会有时想不起来某个标签该怎么写,所以整理了这篇文章,以备查询。由于MyBatis如此简单,使得这一篇文章基本把实际使用中常碰到的事情都涵盖了,包括:MyBatis中的一些概念MyBatis包含的内容SQL映射动态SQL一、 MyBatis中的一些概念MyBatis的架构1. MyBatis是个什么东西在使用MyB

2017-12-26 00:00:00 396 5

原创 什么是 volatile 关键字?漫画

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。       volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我

2017-12-24 00:00:00 812

转载 九周九分布式服务-架构演进

概述随着业务的发展,项目的规模不断扩大,为了方便快速的构建迭代应用,应用的架构也在不断的演进,发展的核心问题是,服务化改造和服务治理。这种架构设计是,对复杂的应用进行水平拆分和服务化改造,将服务的消费者和服务的提供者解耦,增加复用性,减少公共模块的重复开发。系统可靠性和团队的协作能力也会有所提高。应用架构的历史演进过程是这样的,下图展示了整个过程架构演进1. 垂直烟囱式架构:这类架构一般是一个wa

2017-12-23 00:00:00 357

转载 深入AOP开发的基石 java动态代理

概述1. 什么是代理我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品。关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者”对我们来说是不可见的;其次,微商代理主要以朋友圈的人为目标客户,这就相当于为厂家做了一次对客户群体的“过滤”。我们把微商代理和厂家进一步抽象,前者可抽象为代理类,后者可抽象为委托类(被代理类)。通过使用代理,

2017-12-22 00:00:00 382

转载 生成动态 SQL 语句的框架 MyBatis Dynamic SQL

这个库是生成动态 SQL 语句的框架。可把它看作是一个类型安全的 SQL 模板库,另外还支持 MyBatis3 和 Spring JDBC 模板。授权协议:Apache-2.0开发语言:Java SHELL 查看源码»操作系统:跨平台该库将生成格式化为由 MyBatis 或 Spring 使用的完整 DELETE,INSERT,SELECT 和 UPDATE 语句。最常见的用例是生成语句和一组匹配

2017-12-21 00:00:00 3487

转载 年终奖时间到!这5个行业往年奖金拿得最多......

大型网站架构技术程序员修炼之道大型web系统数据缓存设计基于 Redis 实现分布式应用限流Cache缓存技术全面解析京东到家库存系统分析Nginx 缓存引发的跨域惨案浅谈Dubbo服务框架数据库中间件架构 | 架构师之路MySQL优化精髓看完本文有收获?请转发分享给更多人欢迎关注“畅聊架构”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构!打造最有价

2017-12-19 00:00:00 687

转载 透视“共享单车技术含量”

共享单车已经成为了中国新四大发明之一,被输往了世界上很多城市。在我看来,虽然共享单车的实现并不复杂,其实质是一个典型的“物联网+互联网”应用。应用的一边是车(物)、另一边是用户(人),通过云端的控制来向用户提供单车租赁服务。1共享单车的“云端应用”1.云计算基础平台共享单车的云端应用,是一个建立在云计算之上的大规模双向实时应用。云计算一方面能够保证共享单车应用的快速部署和高扩展性,另一方面能够应付

2017-12-18 00:00:00 2247

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

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

2017-12-13 00:00:00 566

转载 凭什么你的团队符合最佳雇主?

让员工在公司找到归属感,做事情有成就感,在团队有幸福感,是每个leader应该思考的问题,也是每个leader应该解决的。1. 团队是否有很强的目标感团队成员是否知道团队做的事情和公司战略的关联团队成员是否都明确自己的目标团队成员是否知道公司的战略又或者,他只是在呆板执行leader下达的任务,或者只是在被动响应产品经理的需求呢?题外话:很多技术团队成员不知道自己做的事情的意义,也不明确工作的目标

2017-12-12 00:00:00 203

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

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

2017-12-11 00:00:00 380

空空如也

空空如也

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

TA关注的人

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