随笔分类 - 架构设计
摘要:案例:秒杀程序 高并发优化思路 1.使用Google guava的RateLimiter来进行限流 2.暴露秒杀接口,暴露信息,作为不常更新的热点数据,贮存到Redis里 3.减库存时,在同一事务内,先"插入记录",再"更新库存", 能有效减少行锁的作用时间. 数据库更新操作,采用乐观锁,提高并发性
阅读全文
摘要:1、主从原理 主从原理大致有三个步骤: 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。 从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。 从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。 原理图为: 2、主从配置
阅读全文
摘要:什么是分布式系统 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。 首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储
阅读全文
摘要:前言 从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂。导致复杂性的原因有很多,如果从架构的层面看,主要有两点,一个是架构设计过于复杂,层次太多能把人绕晕。另一个是根本就没架构,ServiceImpl
阅读全文
摘要:前言 设计是把双刃剑,没有最好的,也没有更好的,而是条条大路到杭州。同时不设计和过度设计都是有问题的,恰到好处的设计才是我们追求的极致。 DDD(Domain-Driven Design,领域驱动设计)只是一个流派,谈不上压倒性优势,更不是完美无缺。 我更想跟大家分享的是我们是否关注设计本身,不管什
阅读全文
摘要:关于负载均衡的一切:总结与思考 正文 古人云,不患寡而患不均。 在计算机的世界,这就是大家耳熟能详的负载均衡(load balancing),所谓负载均衡,就是说如果一组计算机节点(或者一组进程)提供相同的(同质的)服务,那么对服务的请求就应该均匀的分摊到这些节点上。负载均衡的前提一定是“provi
阅读全文
摘要:三分钟读懂TT猫分布式、微服务和集群之路 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋。 目录 分布式 微服务 负载均衡集群 高可用集群 弹性云 故障转移 总结 分布式 小马正在经营
阅读全文
摘要:转自:http://www.cnblogs.com/ityouknow/p/7508306.html 今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意。仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的
阅读全文
摘要:大型网站架构技术一览 网站系统架构层次如下图所示: 1、 前端架构 前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。 (1) 浏览器优化技术; (2) CDN; (3) 动静分离,静态资源独立部署; (4) 图片服务; (5) 反向代理; (6) DNS:域名
阅读全文
摘要:原文:http://www.jianshu.com/p/b17d65934b58%20 前言 在微服务架构中,由于服务数量众多,如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理和维护。在 spring cloud 中使用 config-server 集中管理配置文件,可以使用
阅读全文
摘要:Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。 为什么要使用Eureka,因为在一个完整的系统架构中,任何单点的服务都不能保证不会中断,因此我们需要服务发现机制,在某个
阅读全文
摘要:Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包含了
阅读全文
摘要:本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它能保证多并发,数据安全传
阅读全文
摘要:简单地来看一个浏览器用户访问的流程: 浏览器->服务器->返回结果显示 这么简单地看,可能想得到的优化手段很少,常见的可能就是优化sql,加快数据库处理;加个缓存,加快返回;使用静态文件,减少动态计算。 细分开来看每一个步骤: 1 浏览器发起一个请求,如果本地有缓存会请求本地缓存文件,没有缓存会请求
阅读全文
摘要:负载均衡设备作为纵跨网络2-7层协议的设备,往往放置在网络设备和应用设备的连接处,对工程师在网络和应用基本知识方面的要求远高于其他设备,所以我们要在基本功能的理解上下更多的功夫。负载均衡设备还有另外一个称呼:4/7层交换机,但它首先是个2-3层交换机,这要求我们首先掌握2-3层的基本知识,然后才是本
阅读全文
摘要:转自:http://www.cnblogs.com/hoojo/p/longPolling_comet_jquery_iframe_ajax.html 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。 一、
阅读全文