分布式的基础知识
这些已经偏向应用层面了, 但是现在很多系统都是分布式的了, 分布式就变成了一种基础知识 。
系统通信:RPC, 消息队列等
负载均衡的原理
CAP原理, BASE原理, 幂等性, 一致性模型(强一致性, 最终一致性.....)和相关协议(两阶段提交, Raft, Paxos......)
数据分片:取模算法, 一致性Hash, 虚拟桶
基本的设计思想
下面这几种设计思想对我影响很大, 需要大家特别注意 。 但是掌握起来却很不容易, 需要在实践中不断地体会:
正交:各个概念之间可以独立变化
抽象:抛弃细节, 找到本质和共性
【计算机网络基础知识-大一计算机网络基础知识】《深入理解计算机系统》一书中提到:“指令集是对CPU的抽象, 文件是对输入/输出设备的抽象, 虚拟存储器是对程序存储的抽象, 进程是对一个正在运行的程序的抽象, 而虚拟机是对整个计算机(包括操作系统、处理器和程序)的抽象 。 如果你对这句话透彻理解了, 说明对计算机系统的认识已经很深刻了 。
分层:我只想和我的邻居打交道, 如网络协议, Web应用开发 。
分而治之:大事化小, 小事化了, 架构设计必备 。
关键点来了, 怎么学习呢?
我原来的方式是先看书, 看了很多书, 数据结构, 操作系统, 汇编, 网络...... 这种办法的最大问题就是枯燥(嗯, 那时候还没有码农翻身这样用故事讲解技术的文章) 。
理论多, 实践少, 很多知识点体会不深, 等到参与的项目多了, Coding多了, 这些知识点才慢慢地鲜活起来 。
一种更加有效的办法是从工作中用到的知识点出发, 从这个知识点向外扩展, 由点到线, 由线到面, 然后让各个层次都连接起来, 形成一个立体的网络 。
切记, 学习是一个螺旋上升的过程, 想要上升就得深度思考, 多问几个为什么 。
比如工作中用到了Redis, 你在学习过程中发现这个Redis用了单线程来处理读写请求, 为什么要这么做? 对于成千上万的请求它是如何处理的? 然后再联想一下别的软件:Tomcat为什么不这么干? 想回答这些问题, 需要发掘很多基础知识 。
这样做的次数多了, 积累到一定程度, 量变就会引起质变, 整个系统就被你看透了, 你的知识又扩大了一圈, 更多的疑问出现了......
计算机网络知识1. 网络拓扑的分类
网络拓扑可以根据通信子网中的通信信道类型分为两类:广播信道通信子网的拓扑与点对点线路通信子网的拓扑 。
(1)广播式的通信子网
在采用广播信道的通信子网中, 一个公用的通信信道被多个节点共享 。 在任一时间内只允许一个节点使用公共通信信道, 当一个节点利用公用通信信道“发送”数据时, 其他节点只能“收听”正在发送的数据 。 采用广播信道通信子网的基本拓扑构型主要有4种:总线型、树形、环形、无线通信与卫星通信型 。
要利用广播通信信道完成网络通信任务时, 必须解决两个基本问题:a.确定通信对象, 即有源节点和目的节点 。 b.解决多节点争用公用通信信道的问题 。
(2)点对点式的通信子网
在采用点对点线路的通信子网中, 每条物理线路连接一对节点 。 如果两个节点之间没有直接相连的物理线路, 则它们之间的通信只能通过中间的其他节点转接 。 在采用点对点线路的通信子网中, 任意两个要通信的节点之间可能存在多条路径, 因此如何选择路径是需要解决的问题 。 采用点对点线路的通信子网的基本拓扑构型有4类:星形、环形、树形与网状拓扑 。
- 新手理财入门基础知识「理财初级入门知识」
- 老房子大改造,52平就要这么设计,实际使用面积大一倍!
- 【紫微斗数基础入门】紫微斗数基础知识
- 才上大一却和舍友很难相处,该怎么办?
- 为什么有人说养狗要养柯基犬? 养狗狗的基础知识柯基
- 有哪些不为人知却对健身减脂很有帮助的食物? 减脂健身的饮食基础知识
- 高考结束后,准大一新生该如何过一个高质量的暑假? 高考之后的暑假怎么过
- 张伯伦体型竟比奥尼尔大一圈,把他放当今联盟还会那么神吗
- 大肚皮的基础知识有哪些?
- 双眼皮手术一只眼睛宽 做完双眼皮手术一个眼大一个眼小
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
