zoukankan      html  css  js  c++  java
  • 分布式学习基础知识

      • 网络通讯,网络是分布式的基础,对分布式的理解建立在对网络的理解上,包括:
        • OSI模型的7层
        • TCP/IP,DNS,NAT
        • HTTP,SPDY/HTTP2
        • Telnet
      • 网络编程,是通过程序在多个主机之间通信。包括:
        • Socket
        • 多线程
        • 非阻塞IO
        • 网络框架
          • Netty
          • Mina
          • ZeroMQ
      • 操作系统的网络部分
      • RPC,Socket使用不是很方便,很多分布式应用是基于RPC的,包括:
        • 同步RPC
        • 异步RPC
        • 主要的一些RPC协议
          • RMI
          • Rest API
          • Thrift
      • 集群,分布式计算离不开集群。集群就是多台主机被当作一个系统
        • 集群类型
          • 高可用,如主机备机切换,冷备,热备,双活
          • 伸缩性,如Web服务器集群,数据库服务器的Sharding
          • 并行计算,如网格,大数据
        • 集群相关技术,包括:
          • 高可用性,保证服务一直能够被访问,延长MTBF,缩短MTTR
            • 冗余的设备
            • 多副本,为了避免单点失效
          • 负载均衡,如何将大量工作负载分配到多个主机上,最大化吞吐量,最小化平均响应时间,最大化资源利用率。
          • 伸缩性(横向),能够添加计算机和设备来应对增长的计算压力
          • 分片(Sharding),把数据分成多个数据集,由多个服务器来分别处理。
            • 自动分片
          • 容错性,当硬件或软件发生故障,能够继续运转
          • 故障检测,以及故障预测
            • 心跳包
            • 告警
            • 性能预警
          • 故障转移,当出现错误,如何解决,为了高可用性和容错性
          • 分布式一致性,在分布式环境中如何维持状态的一致性,严格一致性,还是最终一致性
          • 集群状态协调,如Zookeeper,etcd等。
            • 分布式锁,在分布式环境中如何进行加锁
            • 选主,当Master宕机,如何选择出新的Master,协议如Raft
          • 一致性哈希,如何将数据分布到集群中的多个主机。
          • 分布式事务,保证在多台服务器上完成的操作符合事务的ACID属性。
      • 安全,网络通常需要保证安全。
        • 身份认证,如何验证人或机器是他们声明的身份
          • 基于用户名/口令
          • 基于数字证书
        • 私密性,如何防止窃听和嗅探
          • 对称加密
          • 非对称加密
        • 完整性,如何保证数据不被篡改
          • 安全散列
          • 消息认证码(MAC)
        • 不可否认性
          • 基于数字证书的数字签名和验签
          • 基于密钥的散列,如HMAC
      • 互联网站的基本架构
        • 页面缓存
        • 负载均衡器,如HAProxy,Nginx
        • 分布式缓存,如Memcache,Redis
        • 消息队列,如ActiveMQ,Kafka
      • 分布式框架
        • 关系型数据库(Sharding,主从同步)
        • NoSQL
          • HBase,基于HDFS和Zookeeper的NoSQL
          • Cassandra,无主集群
        • 大数据
          • HDFS,分布式文件系统
          • MapReduce,将数据处理任务拆分为多个工作,通过集群来完成。
          • Spark,提供分布式的数据集抽象
  • 相关阅读:
    Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function问题解决
    Fiddler是最强大最好用的Web调试工具之一--网站抓包分析
    django 运行不同的settings
    Ununtu 15.04 安装MySql(Django连接Mysql)
    Linux SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking.错误
    解决将Ubuntu下导出的requirements.txt到Centos服务器上面出现pkg-resource的版本为0.0.0
    Ubuntu安装Nginx和正确卸载Nginx Nginx相关
    jquery 情况form表单的所有内容
    python把中文文档变为拼音
    将多个文件夹内的txt合并
  • 原文地址:https://www.cnblogs.com/minjay/p/6742953.html
Copyright © 2011-2022 走看看