
架构
do better myself
学无止境、只有不断的学习,你才不会被社会淘汰!加油吧!少年!
展开
-
基于redis缓存的session共享
为了做到redis的高可用,引入了haproxy或者keepalived来解决redis master slave的切换问题。即: 此体系结构中, redis master出现故障时, 通过haproxy设置redis slave为临时master, redis master重新恢复后, 再切换回去. 此方案中, redis-master 与redis-sla原创 2016-01-19 14:03:05 · 681 阅读 · 2 评论 -
大型网站架构 - LAMP
一 网站大访问量1. 负载均衡:大的访问量平均分流到多台PC机Linux LVS负载均衡2. 冗余技术:服务器集群,一台服务器宕机,另一台服务器会被激活(防止单点故障)二 网站大数据存储1. Mysql数据库集群(主从复制)2. Mysql数据库分库分表(垂直分表,水平分表)3. Mysql分区技术,将一个表底层存储上拆分成多个区,使用hash算法拆分,或直接取模4. 基于分布式文件存储的数据库 ...转载 2018-04-08 11:26:12 · 186 阅读 · 0 评论 -
百万级别网站架构思路
1.运维服务器方面:2台web机器,机器配置是4核,16G的配置,主从,3台mysql,主从加备份数据库,resdis一台机器2.可以处理1秒钟1000次请求,如果预估是1秒钟4000次请求的话,则需要4台web机器,top命令查询load average如果cpu快达到4了就需要加机器了3.前端使用cdn加速,JS、CSS打包压缩,使用分布式缓存,读取数据从缓存读取4.并发量高的话使用队列异步处...原创 2018-04-08 17:44:29 · 3144 阅读 · 4 评论 -
高并发解决方案图
缓存、队列、应用拆分、限流、数据库分库、分表、服务降级转载 2018-05-02 16:48:26 · 345 阅读 · 0 评论 -
后端架构师技术图谱
https://segmentfault.com/p/1210000014698268?share_user=1030000012902446转载 2018-05-03 13:47:33 · 586 阅读 · 0 评论 -
电商系统架构图分解
将系统分成应用层,服务层,数据层,各个应用有自己的子系统,服务层提供的是公共的服务,数据层是底层数据相关的存储。原创 2018-04-27 16:59:42 · 8323 阅读 · 0 评论 -
秒杀系统设计地址
https://www.cnblogs.com/andy-zhou/p/5364136.html转载 2018-05-31 10:59:21 · 190 阅读 · 0 评论 -
分布式事务有两种解决方式
1.优先使用异步消息。上文已经说过,使用异步消息 Consumer 端需要实现幂等。幂等有两种方式,一种方式是业务逻辑保证幂等。比如接到支付成功的消息订单状态变成支付完成,如果当前状态是支付完成,则再收到一个支付成功的消息则说明消息重复了,直接作为消息成功处理。另外一种方式如果业务逻辑无法保证幂等,则要增加一个去重表或者类似的实现。对于 producer 端在业务数据库的同实例上放一个消息库,发消...转载 2018-06-07 16:18:26 · 1163 阅读 · 0 评论 -
epoll详解
什么是epoll?epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集 合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符 集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描...转载 2018-08-22 14:37:29 · 247 阅读 · 0 评论 -
ASCII、Unicode和UTF-8编码的区别
编码 大小 支持语言 ASCII 1个字节 英文 Unicode 2个字节(生僻字4个) 所有语言 UTF-8 1-6个字节,英文字母1个字节,汉字3个字节,生僻字4-6个字节 所有语言 最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的...转载 2019-01-10 14:52:20 · 210 阅读 · 0 评论 -
PHP商品秒杀计时实现(解决大流量方案)
解决这个问题比较流行的思路:1.用额外的单进程处理一个队列,下单请求放到队列里,一个个处理,就不会有并发的问题了,但是要额外的后台进程以及延迟问题,不予考虑。2.数据库乐观锁,大致的意思是先查询库存,然后立马将库存+1,然后订单生成后,在更新库存前再查询一次库存,看看跟预期的库存数量是否保持一致,不一致就回滚,提示用户库存不足。3.根据update结果来判断,我转载 2015-12-21 17:02:54 · 801 阅读 · 0 评论 -
I/O 多路复用技术是什么
I/O 多路复用技术是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),转载 2017-06-06 10:29:14 · 612 阅读 · 0 评论 -
分布式架构流程和http请求详解
HTTP请求先从应用层=>传输层=>网络层=>链路层原创 2016-01-08 09:25:58 · 906 阅读 · 0 评论 -
一、REST架构风格:
REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST最早是由 Roy Thomas Fielding 博士2000年在论文《Architectural Sty转载 2016-01-12 08:48:55 · 422 阅读 · 0 评论 -
新版架构图详解和旧版比较
原创 2016-02-25 08:49:50 · 504 阅读 · 0 评论 -
网站服务器架构图
原创 2016-12-27 09:52:35 · 820 阅读 · 2 评论 -
互联网分层架构
ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台,Mysql分布式中间件:Cobar,oneproxy,ElasticSearch类似sphninx,solrdocker是一个容器,类似管理进程的一个容器中间件在数据库层上和应用层之下原创 2017-01-12 14:13:11 · 649 阅读 · 0 评论 -
架构设计的几个痛点_我总结出的架构原则和模式
高可用的网站架构分层架构,每一层都分布式部署。使用冗余和故障转移的方式保证可用性。- 应用层用负载均衡服务器,能够监测服务器的可用性,把不可能的踢出集群- 服务层使用分布式调用框架dubbo- 数据库使用同步复制,实现数据冗余。- 还要考虑升级发布引起的宕机高可用的应用通过负载均衡进行无状态服务的失效转移集群的sessio转载 2017-04-10 15:46:12 · 1322 阅读 · 2 评论 -
QPS 与 TPS 简介
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS是 TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器 做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结原创 2017-04-20 11:34:32 · 463 阅读 · 0 评论 -
架构以及我理解中架构的本质
架构,刚开始的解释是我从知乎上看到的。什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其 实 是 对 我 们 重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见。我们要想做一个架构的话需要哪些能力?我觉得最重要的是架构师一个最重要的能力就是你要有原创 2017-04-20 15:35:29 · 363 阅读 · 0 评论 -
大流量的网站如何优化
1.CSS,JS 打包压缩,cdn2.减少http请求,使用页面静态化3.优化数据库查询和优化代码4.使用缓存,如memcache,redis,使用mysql主从5.负载均衡加机器6.拆分应用项目,一个服务对应有一个项目,比如订单对应一个项目,面向服务开发。原创 2016-03-14 16:00:36 · 653 阅读 · 0 评论 -
分布式系统水平和垂直拆分
原创 2019-01-08 11:11:05 · 3153 阅读 · 1 评论