读书笔记:《架构解密:从分布式到微服务》

0.前言

  该书集科普和启发于一身,是了解分布式和微服务,扩宽技术视野的不错的一本书,可以作为导论,先从全局角度了解技术,然后再通过其他途径从具体细节专研。因此这里只对关键概念进行了书写以提升印象。

  该书思路是注重前因后果与发展历程,软硬件兼并,以网络,内存,cpu,存储等计算机组件为章节,介绍了如何从单体应用到分布式应用或者所起到的作用。通俗易懂的描述了微服务和分布式,当然本书中也有一些晦涩难懂的部分,对于非科班出身或者计算机组成原理和操作系统学的不太好的同学不是很友好,但是也只是部分。

1.基础

   计算机发展历程:

  划时代第一台超大型计算机ENIAC(1946)——IBM大型机(1964)——个人PC/小型UNIX服务器——超级计算机

 分布式系统的基石:网络

  分组交换试验网ARPANET,TCP/IP技术,NSFNET,以太网,Telent协议,万维网,HTTP协议,CDN

   网络基础

  国际骨干网——国家骨干网——城域网——园区网,

  IDC机房:出口路由,核心交换区,网络接入区,增值业务区

 NIO

  Buffer:字节buffer,堆外buffer,MappedByteBuffer等原理

扫描二维码关注公众号,回复: 5065978 查看本文章

  Netty

  非阻塞:TCP/IP滑动窗口,socket底层原理,Reactor模型,mycat-nio

 AIO

  NIO2,Retry模型,AIO-Linux陷阱

 序列化

  起因:面向网络,传输对象。数据大传输效率低,其他语言无法对接。

  XML,webService——Json,rest——MessagePack/ProtocolBuffer,RPC——Avro/Thrift

2.理论

  特征:目标是提升整体性能和吞吐量,故障概率增加

  性能,容错。中心化,去中心化,脑裂

 一致性:

  Kafka一致性案例,Paxos算法,Raft

 zookeeper

  配置中心,服务注册中心,集群通信与子系统控制

 CAP理论

  一致性,可用性,网络分区。

 BASE理论

  主要可用,软状态,最终一致性

 分布式事务

  数据库单机事务

  原子性,一致性,隔离性,持久性

  Mysql事务执行流程

  X/OpenDTP事务模型

  二阶段提交,三阶段提交

 分布式事务解决方案:

  业务接口整合,最终一致性方案ebay模式,X/OpenDTP模型支付宝DTS框架

3.RPC

  socket通信

  SunRPC

  CORBA的功败垂成

  XML-RPC

  ZeroC IceGrid

  服务治理,Dubbo

  SOA

  Thrift,gRPC

4.内存

  CPU,内存,Cache

  多核CPU与内存共享

  Cache伪共享问题

  不一致性内存

 内存缓存技术:

  淘汰策略,LRU,LFU,FIFO

 缓存实现方式:

  进程内村换,单机缓存中间件,分布式缓存中间件

 Memcache内存管理策略

  内存页,page,chunk,slab。浪费现象slab automove。

 Redis:

  为何单线程,优势

 内存计算产品:

  SAP HANA,数据全部放入内存中,充分并行编程,最小化数据传输

  VoltDB,采用分区表结合副本表方式处理数据库水平扩展问题

4.存储

  磁盘,磁盘阵列,DAS,SAN

  NAS,NFS

  GFS,GPFS

  GlusterFS

 Ceph

   充分发挥存储设备自身计算能力,完全去中心化的设计思路

  CRUSH算法

5.分布式计算

 Actor模型

 Akka:

  并发并行程序简单的高级别抽象,异步非阻塞高性能时间驱动编程模型,轻量级事件驱动处理

 Storm

 MapReduce

6.全文检索与消息中间件

 Lucene

 solr

 es

 消息队列

  第一代:ActiveMq,J2EE时代产物,企业级特性。消息持久化存储,事务要求。

  第二代:RabbitMq,后Java时代。ActiveMq APollo。AMQP协议。

  第三代:Kafka,互联网时代。rocketmq

 JMS

  点对点消息通信模型,发布订阅模型

7.微服务架构

 容器技术

 Docker

 微服务架构:

  1.Rpc框架进化的ICeGrid

  2.Rest演化的SpringCloud

  3.基于容器技术的kunernetes

 常见的微服务方案:

  IceGrid,注册中心,独立进程,内嵌负载均衡,一键部署

  SpringCloud,Netflix,Eureka,Zuul,Ribbon,Hystric

  基于消息队列的微服务,网易蜂巢平台

  Docker Swarm

  kunernetes

 平台领域模型

  

  

  

  

 

  

  

  

  

  

  

  

  

  

  

 

 

  

  

  

  

  

  

  

猜你喜欢

转载自www.cnblogs.com/sjlian/p/10320020.html