System Design
lvpeng笨笨
这个作者很懒,什么都没留下…
展开
-
socket通信
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵什么是TCP/IP、UDP?Socket在哪里呢?Socket是什么呢?你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是...原创 2019-12-05 11:02:43 · 125 阅读 · 0 评论 -
分布式缓存问题(一致性哈希算法)
摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之...转载 2019-12-05 09:33:10 · 181 阅读 · 0 评论 -
RPC框架
参考文献:如何给老婆解释RPC?如何实现一个简单的RPC? 什么是RPC,所属什么体系?RPC(Remote Procedure Call)远程过程调用属于IPC(进程间通信)的内容IPC可分为:多任务操作系统 & 联网的计算机之间也可分为:LPC(本地过程调用)实现BY ...转载 2019-12-03 18:59:39 · 141 阅读 · 0 评论 -
Session,Cookie,Token
一. 为什么需要Cookie?HTTP是一种无状态的协议,客户端与服务器建立连接并传输数据,数据传输完成后,连接就会关闭。Cookie是解决HTTP无状态性的有效手段,服务器可以设置或读取Cookie中所包含的信息。当用户登录后,服务器会发送包含登录凭据的Cookie到用户浏览器客户端,而浏览器对该Cook...转载 2019-12-02 17:11:58 · 89 阅读 · 0 评论 -
秒杀系统
面试的时候有时候会问到秒杀系统如何设计,今天,来总结一下。秒杀系统其实不单纯是一个电商抢购系统,涉及到大并发的场景都适合使用到该套秒...转载 2019-11-27 12:19:43 · 319 阅读 · 0 评论 -
lvs与nginx区别
lvs和nginx都可以用作多机负载方案,他们各有优缺点,在生产环境中需要好好分析实际情况并加以利用。一、lvs的优势:1.抗负载能力强,因为lvs工作方式的逻辑是非常简单的,而且工作在网络的第4层,仅作请求分发用,没有流量,所以在效率上基本不需要太过考虑。lvs一般很少出现故障,即使出现故障一般也是其他地方(如内存、CPU等)出现问题导致lvs出现问题。2.配置性低,这通常是一大劣势同时也...转载 2019-11-27 11:15:42 · 306 阅读 · 0 评论 -
RocketMQ消息队列
一、RocketMQ简介1.1、介绍RocketMQ是一款分布式、队列模型的消息中间件,由Metaq3.X版本改名而来,RocketMQ并不遵循包括JMS规范在内的任何规范,但是参考了各种规范不同类产品的设计思想,自己有一套自定义的机制,简单来说就是使用订阅主题的方式去发送和接收任务,但是支持集群和广播两种消息模式。开源项目地址:https://github.com/apache/rocket...转载 2019-11-25 20:53:53 · 709 阅读 · 0 评论 -
微博技术架构分析和设计
第一部分:新浪微博...转载 2019-11-24 17:07:29 · 2194 阅读 · 0 评论 -
Feeds流的设计与实现
Feed,在社交和信息推荐的App与网站中,基本都会用到的。例如常用的新浪微博,用户登录进入后,展现给我们的就是feed信息流。新浪微...转载 2019-11-24 16:35:48 · 2115 阅读 · 0 评论 -
关于同步异步、阻塞非阻塞的解释
非阻塞模式可以理解为,执行此套接字的网络调用时,不管是否执行成功,都会立即返回。如调用recv( )函数读取网络缓冲区中的数据时,不管是否读到数据都立即返回,而不会一直挂在此函数的调用上。而阻塞模式为只有接收到数据后才会返回,套接字默认的会创建堵塞模式。其他关于socket的一点基础内容:在计算机通信领域,s...原创 2019-11-24 15:20:03 · 239 阅读 · 0 评论 -
Concurrency包之并发队列---BlockingQueue
1.在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。2.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。3.使用背景...转载 2019-11-21 19:28:28 · 134 阅读 · 0 评论 -
访问一个URL经历了哪些过程
客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TCP断开连接1、概要...转载 2019-11-21 17:17:59 · 325 阅读 · 0 评论 -
Design TinyURL 设计短网址系统
转载:https://segmentfault.com/a/1190000006140476S场景:长到短短到长N需求(不确定的话先往小里说):qps日活用户:100M每人每天使用:(写)长到短0.1,(读)短到长1日request:写10M,读100Mqps:写100,读1Kpeak qps: 写200,读2K(千级别的qps可以单台SSD MySQL搞定)...转载 2019-11-20 21:55:48 · 217 阅读 · 0 评论