总体架构
石头dhf
三人行必有吾师!
展开
-
秒杀系统的架构解决之道
秒杀 架构2017-04-24 朱超 10203 阅读本文将会从三个方面来分别探讨如何设计应用架构以更好的支持“秒杀”类需求,包括秒杀带来的问题和挑战、产品架构解决之道、流量控制解决方案。秒杀场景下带来的海量用户所造成的流量突增对系统冲击力可想而知,瞬时流量之高一方面造成的读写冲突,数据库锁会非常严重,另一方面应用服务器能否撑住也是一个问题。同时由于秒杀业务一般是各转载 2017-08-20 17:01:14 · 256 阅读 · 0 评论 -
Java session共享的问题
Java session共享的问题分为主子域名相互共享、多个tomcat或项目共享(也可以理解成分布式部署后的多台服务器间session共享) 为什么我们处理共享session?对于一个项目有主子域名的情况,往往我们需要让主域名网站登录后,也要在子域名显示登录信息,而默认tomcat生成session时,是区别域名的,对于不同域名会生成不同的sessionid,所以我们需要处理让主子域...转载 2018-09-06 17:13:46 · 480 阅读 · 0 评论 -
MySQL数据库的高可用方案总结
这篇文章主要针对MySQL数据库的高可用方案进行详细总结,高可用架构对于互联网服务基本是标,本文是对各种方案的总结,感兴趣的小伙伴们可以参考一下 可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法发微博,发微信等。一般而言,衡量高可用做到什么程...转载 2018-09-09 20:37:29 · 5569 阅读 · 0 评论 -
浅谈服务治理与微服务
转载:https://blog.csdn.net/suifeng3051/article/details/53992560近期都在谈微服务,本人也正在做相关的工作,应领导要求做了一个微服务的分享,本篇文章主要来源于分享的PPT,所以有些简单,有问题可以在下面留言,大家 一起讨论。本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后再介绍微服务,微服务是服务治理的升级也是互联网架构的进一步延...转载 2018-04-18 23:27:50 · 124 阅读 · 0 评论 -
TCP粘包/拆包问题
目录TCP粘包/拆包TCP粘包/拆包问题说明TCP粘包/拆包发生的原因粘包问题的解决策略未考虑TCP粘包导致功能异常案例 TimeServer的改造TimeClient的改造 利用LineBasedFrameDecoder解决TCP粘包问题LineBasedFrameDecoder和StringDecoder的原理分析 无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘...转载 2018-04-03 16:56:53 · 411 阅读 · 0 评论 -
JCS缓存应用和源码解密
一、理解缓存的三个核心概念Elements : JCS是一个对象缓存,能放置一些对象或是”elements”并通过key来访问它们,很像一个hashtable。可以想象JCS是一个能过Name来获取的hashtables的集合。Regions : 每一个hashtables都被称做“region”,每一个region都能被独立于其他regions配置。例如,可以有一个称做城市的region,缓存了...原创 2018-04-10 00:42:57 · 383 阅读 · 0 评论 -
分布式如何实现session共享
最近,在工作中遇到一个问题,问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那么用户在session失效之前如果再次使用app,那么可能会被路由到server2,这时问题来了,server没有该用户的session,所以需要用户重新登录,这时的用户体验会非常不好,所以我们想如何实现多台server之间共享session,让用户状态转载 2018-03-05 15:10:20 · 562 阅读 · 0 评论 -
大型网站架构之分布式消息队列
大型网站架构之分布式消息队列以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务(见第二篇:大型网站架构系列:分布式消息队列(二)) 常用消息队列(见第二篇:大型网站架构系列:分布式消息队列(二)) 参考(推荐)资料(见第二篇:大型网站架构系列:分布式...转载 2017-12-05 16:56:00 · 195 阅读 · 0 评论 -
传送机制以及ACK机制详解
转载:http://shift-alt-ctrl.iteye.com/blog/2020182AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机制 Producer客户端使用来发送消息的, Consumer客户端用来消费消息;它们的协...转载 2017-12-05 16:39:16 · 7677 阅读 · 0 评论 -
jstack详解
http://www.open-open.com/lib/view/open1456744049953.html http://wenku.baidu.com/link?url=XGRAXwZGpPIyvYzcs0fqOGazbnKWWy6tsuDk5XhPUmVI4Y9jOT5TiYf6JVq0sPGafvMJmZFs1dNDlNtovldedF5xwr9ViMvv6WdRSaTGk转载 2017-12-22 10:26:59 · 825 阅读 · 0 评论 -
缓存架构设计细节二三事
缓存主要用在读多、写少的场景下.1、插入操作:直接插入数据库,缓存不用处理。待有下次查询新插入的数据时会写入缓存。2、查询操作:针对条件查询,现查找缓存缓存不存在再查找数据库,然后返回查询结果并写入缓存;针对遍历查询只查询数据库不写入缓存保存缓存的空间。3、删除操作:先删除缓存,再删除数据库。4、更新操作:1)、先删除缓存,再更新数据库,删除的缓存信息在再次查询时写入缓存。及时更新原创 2017-12-21 11:30:55 · 199 阅读 · 0 评论 -
秒杀系统架构优化思路
上周参加Qcon,有个兄弟分享秒杀系统的优化,其观点有些赞同,大部分观点却并不同意,结合自己的经验,谈谈自己的一些看法。一、为什么难秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。例如小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如12306抢票,亦与秒杀类似,瞬时流量更甚。二、转载 2017-12-22 09:48:40 · 265 阅读 · 0 评论 -
后端接口的幂等性
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接转载 2017-12-20 22:41:01 · 1604 阅读 · 0 评论 -
幂等和高并发在电商系统中的使用
在Java web项目开发中,经常会听到在做订单系统中生成订单的时候,要做幂等性控制和并发控制,特对此部分内容作出总结,在高并发场景下,代码层面需要实现并发控制;但是幂等性,其实更多的是系统的接口对外的一种承诺,承诺一次请求和多次请求会返回同样的数据。关于幂等性将分别从高等代数中的幂等性、HTTP中的幂等性和订单生成系统中的幂等性阐述;并发性控制则提供了分布式锁等方式来对并发场景进行代码实现。转载 2017-12-20 22:46:52 · 1697 阅读 · 0 评论 -
mysql中间件研究( Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess,OneProxy )
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是...转载 2018-09-10 08:36:08 · 1553 阅读 · 0 评论