自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

畅聊架构

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

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

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

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

2017-12-31 00:00:00 460

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


 

 

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

2017-12-31 00:00:00 805

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

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

2017-12-30 00:00:00 553

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


 

 

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

2017-12-30 00:00:00 275

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

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

2017-12-29 00:00:00 357

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

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

2017-12-28 00:00:00 576

转载 MyBatis

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

2017-12-26 00:00:00 412 5

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

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

2017-12-24 00:00:00 833

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

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

2017-12-23 00:00:00 379

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

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

2017-12-22 00:00:00 395

转载 生成动态 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 3528

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

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

2017-12-19 00:00:00 702

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

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

2017-12-18 00:00:00 2293

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

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

2017-12-13 00:00:00 577

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

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

2017-12-12 00:00:00 214

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

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

2017-12-11 00:00:00 395

转载 大咖 | 王汉生:从数据到价值的转化,回归分析的“道”与“术”

摘自《数据思维》 作者:王汉生学过统计学的同学们都知道一件事情,回归分析师数据分析的一个非常重要的模型方法。而且这些模型很可能是线性的、非线性的,也可能是参数的、非参数的,甚至是一元的、多元的,低维的、高维的,不尽相同。所以,把数据转化为价值,需要一个非常重要且精妙的思想方法:回归分析。另外,这些都是在“术”的层面讨论回归分析。除了“术”,回归分析还有一个更高的“道”的层面。回归分析的“道”在这个

2017-12-10 00:00:00 2185

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

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

2017-12-09 00:00:00 1008

转载 关于用户画像那些事,看这一文章就够了

前言    随着近五年互联网和大数据技术的蓬勃发展,各类数据产品应运而生,从阿里自身大数据的应用发展来看可以看到几方面的挑战:一方面为了应对数据量高速的增长,衍生出各类的分布式数据计算与存储技术解决各类应用场景下的难题,而非传统IT架构当中只需要单一数据库就可以支撑整个企业的数据分析报表问题;各类数据的积累如何进行有效的整合与管理,各个业务库的数据之间如何打通在多个计算存储资源

2017-12-08 00:00:00 4306 1

转载 干货|现代IM系统中消息推送和存储架构的实现

摘要:前言 IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品,但其核心功能还是IM。前言IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必

2017-12-05 00:00:00 7831

转载 分布式实时日志分析解决方案ELK部署架构

日志是分析线上问题的重要手段,通常我们会把日志输出到控制台或者本地文件中,排查问题时通过根据关键字搜索本地日志,但越来越多的公司,项目开发中采用分布式的架构,日志会记录到多个服务器或者文件中,分析问题时可能需要查看多个日志文件才能定位问题,如果相关项目不是一个团队维护时沟通成本更是直线上升。把各个系统的日志聚合并通过关键字链接一个事务处理请求,是分析分布式系统问题的有效的方式。ELK(elas

2017-12-04 00:00:00 3147 1

转载 互联网高性能开发必备技能 缓存技术

对后端开发的同学来说,缓存是必备技能。这是你不需要花费太多的精力就能显著提升服务性能的灵丹妙药。前提是你得知道如何使用它,这样才能够最大限度发挥它的功效,并抑制其副作用。本文将介绍最如何正确的添加和更新缓存。写在开始之前      这部分将介绍在开始加缓存之前我们必须要做的事情。这步非常重要,如果没弄好,很有可能加了缓存反而不如不加。

2017-12-03 00:00:00 307

原创 9种高性能可用高并发的技术架构

每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行等一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展、安全等各种技术架构目标。1分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度

2017-12-02 00:00:00 520

原创 基于 Redis 实现分布式应用限流

限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务实际场景中常用的限流策略:Nginx接入层限流按照一定的规则如帐号、IP、系统调用逻辑等在Nginx层面做限流业务应用系统限流通过业务代码控制流量这个流量可以被称为信号量,可以理解成是一种锁,它可以限制一项资源最多能同时被多少进程访

2017-12-01 00:00:00 1224

空空如也

空空如也

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

TA关注的人

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