下载APP 随时随地学编程
返回 首页

架构师之路

开始阅读
手册说明:

作者介绍:

曾任百度高级工程师,58高级架构师,C2C技术部负责人,58技术学院优秀讲师。目前,他主要负责58到家后端的技术管理工作,比如说架构部、后端平台部、基础服务部、DBA,还有测试平台等相关偏后台的技术工作。微信公众号:架构师之路,坚持撰写接地气的架构文章,通往架构师之路,悠远而漫长,一路上,我们同行。


作者公众号:

欢迎大家关注58沈剑的微信公众号,相互讨论学习~



目录

架构师 通用设计与方法论

架构 秒杀系统优化思路
架构 细聊分布式ID生成方法
互联网架构,如何进行容量设计?
线程数究竟设多少合理
单点系统架构的可用性与性能优化
一分钟了解负载均衡的一切
lvs为何不能完全替代DNS轮询
如何实施异构服务器的负载均衡及过载保护?
究竟啥才是互联网架构“高并发”
究竟啥才是互联网架构“高可用”
100亿数据1万属性数据架构设计
架构设计中常见“反向依赖”与解耦方案
典型数据库架构设计与实践

架构师 典型架构实践

TCP接入层的负载均衡、高可用、扩展性架构
配置”也有架构演进?看完深有痛感
跨公网调用的大坑与架构优化方案
DNS在架构设计中的巧用
session一致性架构设计实践
互联网智能广告系统简易流程与架构
计数系统架构实践一次搞定

架构师 数据库与缓存

数据库软件架构设计些什么
细聊冗余表数据一致性
缓存架构设计细节二三事
缓存与数据库一致性优化
主从DB与cache一致性优化
DB主从一致性架构优化4种方法
多库多事务降低数据不一致概率
mysql并行复制降低主从同步延时的思路与启示
互联网公司为啥不使用mysql分区表?
即使删了全库,保证半小时恢复
啥,又要为表增加一列属性?
这才是真正的表扩展方案
一分钟掌握数据库垂直拆分
单KEY业务,数据库水平切分架构实践
数据库秒级平滑扩容架构方案
100亿数据平滑数据迁移,不影响服务
58到家数据库30条军规解读
再议58到家数据库军规
业界难题-“跨库分页”的四种方案
用uid分库,uname上的查询怎么办?
mysql-proxy数据库中间件架构

架构师 服务化与微服务

互联网架构为什么要做服务化?
微服务架构多“微”才合适?
为什么说要搞定微服务架构,先搞定RPC框架?
微服务架构之RPC-client序列化细节
RPC-client异步收发核心细节

架构师 消息系统

http如何像tcp一样实时的收消息?
微信为什么不丢消息?
微信为啥不丢“离线消息”?
群消息这么复杂,怎么能做到不丢不重?
QQ状态同步究竟是推还是拉?
微信多点登录与QQ消息漫游架构随想
消息“时序”与“一致性”为何这么难?
58到家通用实时消息平台架构细节(Qcon2016)
微信为啥这么省流量?
应用层/安全层/传输层如何进行协议选型?

架构师 消息总线架构

到底什么时候该使用MQ?
1分钟实现“延迟消息”功能
消息总线能否实现消息必达?
消息总线真的能保证幂等?
10w定时任务,如何高效触发超时
58到家MQ如何快速实现流量削峰填谷

架构师 搜索架构

深入浅出搜索架构引擎、方案与细节(上)
如何迅猛的实现搜索需求
百度如何能实时检索到15分钟前新生成的网页?

架构师 架构实践

好架构是进化来的,不是设计来的(58架构演进)
58同城推荐系统架构设计与实现
从0开始做互联网推荐-以58转转为例
从0开始做垂直O2O个性化推荐-以58到家美甲为例
58到家入驻微信钱包的技术优化
创业公司快速搭建立体化监控之路(WOT2016)
巧用CAS解决数据一致性问题
百度咋做长文本去重
如何快速实现高并发短文检索
如何实现超高并发的无锁缓存?
“id串行化”到底是怎么实现的?
从IDC到云端架构迁移之路(GITC2016)

架构师 一致性问题

库存扣多了,到底怎么整
库存扣减还有这么多方案?
浅谈CAS在分布式ID生成方案上的应用
CAS下ABA问题及优化方案

架构师 一分钟系列

一张“神图”看懂单机/集群/热备/磁盘阵列(RAID)
一分钟学awk够用(产品经理都懂了)
十分钟学perl够用(客服MM都懂了)
一分钟sed入门(一分钟系列)
一分钟了解两阶段提交2PC(运营MM也懂了)
30秒懂SQL中的join(2幅图+30秒)
连接池原来这么简单(一分钟系列)
一分钟实现分布式锁
这才是真正的分布式锁
一分钟一幅图TCP/IP搞定
一分钟理解负载LoadAverage
1分钟了解Leader-Follower线程模型
1分钟了解四层/七层反向代理

架构师 通用素质

罗振宇送给新员工的四句话
职场中的选择与拒绝
心态:晋升的为什么不是你
你的收入取决于你的努力程度
“老公,我穿这衣服好看吗”终于破解了
一分钟经理人
如何精确理解leader布置的任务
如何快速精确的和leader沟通
架构师到底该不该写代码
运维说给研发测试的心底话
如何做一场B格满满的技术大会演讲

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }